| The Gaudi Framework v28r2-patches (bc4ad17a)

- 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
8 // Framework include files
9 #include "GaudiKernel/Kernel.h"
10 #include "GaudiKernel/StatusCode.h"
11
12 // Forward declarations
13 class INTuple;
14 class INTupleItem;
15 class ISelectStatement;
16
26 class GAUDI_API INTupleItem {
27 protected:
29 virtual void setType (long typ) = 0;
30 public:
32 virtual ~INTupleItem() = default;
33
35 virtual void release() = 0;
37 virtual const std::type_info& typeID() const = 0;
39 virtual std::string typeName() const = 0;
41 virtual const void* buffer() const = 0;
43 virtual bool hasIndex() const = 0;
45 virtual const std::string& index() const = 0;
47 virtual const std::string& name() const = 0;
49 virtual long type() const = 0;
51 virtual long length() const = 0;
53 virtual void reset() = 0;
55 virtual long ndim() const = 0;
57 virtual long dim(long i) const = 0;
59 virtual long size() const = 0;
61 virtual long filled() const = 0;
63 virtual INTupleItem* indexItem() = 0;
65 virtual const INTupleItem* indexItem() const = 0;
67 virtual INTuple* tuple() = 0;
68 };
69
79 class GAUDI_API INTuple {
80 protected:
82 virtual INTupleItem* i_find(const std::string& name) const = 0;
83 public:
84 // Definition of _Item container
85 typedef std::vector< INTupleItem* > ItemContainer;
87 virtual ItemContainer& items() = 0;
89 virtual const ItemContainer& items() const = 0;
91 virtual char* setBuffer(char* buff) = 0;
93 virtual const char* buffer() const = 0;
95 virtual char* buffer() = 0;
97 virtual const std::string& title() const = 0;
99 virtual void reset() = 0;
101 virtual const INTupleItem* find(const std::string& name) const = 0;
103 virtual INTupleItem* find(const std::string& name) = 0;
105 virtual StatusCode add(INTupleItem* item) = 0;
107 virtual StatusCode remove(INTupleItem* item) = 0;
109 virtual StatusCode remove(const std::string& name) = 0;
111 virtual StatusCode attachSelector(ISelectStatement* sel) = 0;
113 virtual ISelectStatement* selector() = 0;
115 virtual StatusCode write() = 0;
117 virtual StatusCode writeRecord() = 0;
119 virtual StatusCode read() = 0;
121 virtual StatusCode readRecord() = 0;
123 virtual StatusCode save() = 0;
124 virtual ~INTuple() = default;
125 };
126 #endif
Kernel.h
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
ISelectStatement
A select statement can either contain.
Definition: ISelectStatement.h:32
IOTest.sel
sel
Definition: IOTest.py:84
INTuple::ItemContainer
std::vector< INTupleItem * > ItemContainer
Definition: INTuple.h:85
hivetimeline.read
def read(f, regex='.*', skipevents=0)
Definition: hivetimeline.py:19
std::type_info
std::string
STL class.
INTuple
NTuple interface class definition.
Definition: INTuple.h:79
GaudiPython.Persistency.add
def add(instance)
Definition: Persistency.py:32
INTupleItem
NTuple interface class definition.
Definition: INTuple.h:26
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
gaudirun.type
type
Definition: gaudirun.py:125
std::vector
STL class.
GaudiPython.GaudiAlgs.write
write
Definition: GaudiAlgs.py:1144
StatusCode.h
GaudiDict::typeName
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:21
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107