| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
NTupleImplementation.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/NTupleImplementation.h,v 1.7 2006/12/10 20:29:17 leggett Exp $
2 #ifndef GAUDIKERNEL_NTUPLEIMP_H
3 #define GAUDIKERNEL_NTUPLEIMP_H
4
5 // Framework include files
6 #include "GaudiKernel/NTuple.h"
7 #include "GaudiKernel/Kernel.h"
8
9 // Forward declarations
10 class INTupleSvc;
11 class IConversionSvc;
12
13 namespace NTuple {
14 // Concrete N tuple class definition
15 class GAUDI_API TupleImp : public Tuple {
16 protected:
18 ItemContainer m_items;
20 bool m_isBooked;
22 std::string m_title;
24 ISelectStatement* m_pSelector;
26 char* m_buffer;
28 INTupleSvc* m_ntupleSvc;
30 IConversionSvc* m_cnvSvc;
31 private:
33 TupleImp(const TupleImp&) ;
34
35 public:
37 virtual INTupleItem* i_find(const std::string& name) const;
38 public:
40 TupleImp( const std::string& title);
42 virtual ~TupleImp();
44 ItemContainer& items() {
45 return m_items;
46 }
48 const ItemContainer& items() const {
49 return m_items;
50 }
52 virtual const std::string& title() const {
53 return m_title;
54 }
56 virtual const INTupleItem* find(const std::string& name) const {
57 return i_find(name);
58 }
60 virtual INTupleItem* find(const std::string& name) {
61 return i_find(name);
62 }
64 char* buffer() {
65 return m_buffer;
66 }
68 const char* buffer() const {
69 return m_buffer;
70 }
72 IConversionSvc* conversionService() const {
73 return m_cnvSvc;
74 }
76 void setConversionService( IConversionSvc* svc ) {
77 m_cnvSvc = svc;
78 }
80 INTupleSvc* tupleService() const {
81 return m_ntupleSvc;
82 }
84 void setTupleService( INTupleSvc* svc ) {
85 m_ntupleSvc = svc;
86 }
88 virtual StatusCode attachSelector(ISelectStatement* sel);
90 virtual ISelectStatement* selector();
92 virtual void setBuffer(char* buff);
94 virtual void reset();
96 virtual StatusCode add(INTupleItem* item);
98 virtual StatusCode remove(INTupleItem* item);
100 virtual StatusCode remove(const std::string& name);
102 virtual StatusCode write();
104 virtual StatusCode writeRecord();
106 virtual StatusCode read();
108 virtual StatusCode readRecord();
110 virtual StatusCode save();
111
112 }; // end class definition: Tuple
113
114
115 // Concrete column wise N tuple class definition
116 class ColumnWiseTuple : public TupleImp {
117 public:
119 ColumnWiseTuple(const std::string& title ) : TupleImp(title) {
120 }
122 virtual ~ColumnWiseTuple() {
123 }
125 virtual const CLID& clID() const {
126 return classID();
127 }
129 static const CLID& classID() {
130 return CLID_ColumnWiseTuple;
131 }
132 }; // end class definition: ColumnWiseTuple
133
134 // Concrete column wise N tuple class definition
135 class RowWiseTuple : public TupleImp {
136 public:
138 RowWiseTuple( const std::string& title ) : TupleImp(title) {
139 }
141 virtual ~RowWiseTuple() {
142 }
144 virtual const CLID& clID() const {
145 return classID();
146 }
148 static const CLID& classID() {
149 return CLID_RowWiseTuple;
150 }
151 }; // end class definition: RowWiseTuple
152 } // end name space NTuple
153
154 #endif // GAUDIKERNEL_NTUPLEIMP_H