| The Gaudi Framework v29r0 (ff2e7097)

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

- File List
- File Members

INTuple.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_INTUPLE_H
2 #define GAUDIKERNEL_INTUPLE_H
3
4 // STL include files
5 #include <string>
6 #include <typeinfo>
7 #include <vector>
8
9 // Framework include files
10 #include "GaudiKernel/Kernel.h"
11 #include "GaudiKernel/StatusCode.h"
12
13 // Forward declarations
14 class INTuple;
15 class INTupleItem;
16 class ISelectStatement;
17
27 class GAUDI_API INTupleItem
28 {
29 protected:
31 virtual void setType( long typ ) = 0;
32
33 public:
35 virtual ~INTupleItem() = default;
36
38 virtual void release() = 0;
40 virtual const std::type_info& typeID() const = 0;
42 virtual std::string typeName() const = 0;
44 virtual const void* buffer() const = 0;
46 virtual bool hasIndex() const = 0;
48 virtual const std::string& index() const = 0;
50 virtual const std::string& name() const = 0;
52 virtual long type() const = 0;
54 virtual long length() const = 0;
56 virtual void reset() = 0;
58 virtual long ndim() const = 0;
60 virtual long dim( long i ) const = 0;
62 virtual long size() const = 0;
64 virtual long filled() const = 0;
66 virtual INTupleItem* indexItem() = 0;
68 virtual const INTupleItem* indexItem() const = 0;
70 virtual INTuple* tuple() = 0;
71 };
72
82 class GAUDI_API INTuple
83 {
84 protected:
86 virtual INTupleItem* i_find( const std::string& name ) const = 0;
87
88 public:
89 // Definition of _Item container
90 typedef std::vector<INTupleItem*> ItemContainer;
92 virtual ItemContainer& items() = 0;
94 virtual const ItemContainer& items() const = 0;
96 virtual char* setBuffer( char* buff ) = 0;
98 virtual const char* buffer() const = 0;
100 virtual char* buffer() = 0;
102 virtual const std::string& title() const = 0;
104 virtual void reset() = 0;
106 virtual const INTupleItem* find( const std::string& name ) const = 0;
108 virtual INTupleItem* find( const std::string& name ) = 0;
110 virtual StatusCode add( INTupleItem* item ) = 0;
112 virtual StatusCode remove( INTupleItem* item ) = 0;
114 virtual StatusCode remove( const std::string& name ) = 0;
116 virtual StatusCode attachSelector( ISelectStatement* sel ) = 0;
118 virtual ISelectStatement* selector() = 0;
120 virtual StatusCode write() = 0;
122 virtual StatusCode writeRecord() = 0;
124 virtual StatusCode read() = 0;
126 virtual StatusCode readRecord() = 0;
128 virtual StatusCode save() = 0;
129 virtual ~INTuple() = default;
130 };
131 #endif
Kernel.h
INTuple::ItemContainer
std::vector< INTupleItem * > ItemContainer
Definition: INTuple.h:90
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:32
ISelectStatement
A select statement can either contain.
Definition: ISelectStatement.h:32
IOTest.sel
sel
Definition: IOTest.py:95
hivetimeline.read
def read(f, regex='.*', skipevents=0)
Definition: hivetimeline.py:22
std::type_info
std::string
STL class.
INTuple
NTuple interface class definition.
Definition: INTuple.h:82
GaudiPython.Persistency.add
def add(instance)
Definition: Persistency.py:39
INTupleItem
NTuple interface class definition.
Definition: INTuple.h:27
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
gaudirun.type
type
Definition: gaudirun.py:133
std::vector
STL class.
GaudiPython.GaudiAlgs.write
write
Definition: GaudiAlgs.py:1259
StatusCode.h
GaudiDict::typeName
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110