EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
FairDbRowStream.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file FairDbRowStream.h
1
#ifndef FAIRDBROWSTREAM_H
2
#define FAIRDBROWSTREAM_H
3
4
#include <string>
5
6
#include "
FairDbFieldType.h
"
7
8
class
FairDbTableMetaData
;
9
10
class
FairDbRowStream
11
{
12
13
public
:
14
15
// Constructors and destructors.
16
FairDbRowStream
(
const
FairDbTableMetaData
* metaData);
17
virtual
~FairDbRowStream
();
18
19
virtual
20
const
FairDbFieldType
&
ColFieldType
(UInt_t col)
const
;
21
virtual
string
ColName
(UInt_t col)
const
;
22
virtual
23
const
FairDbFieldType
&
CurColFieldType
()
const
;
24
virtual
string
CurColName
()
const
;
25
virtual
UInt_t
CurColNum
()
const
{
return
fCurCol
;}
26
Bool_t
HasRowCounter
()
const
{
return
fHasRowCounter
; }
27
virtual
UInt_t
NumCols
()
const
;
28
virtual
string
TableName
()
const
;
29
virtual
string
TableNameTc
()
const
;
30
virtual
const
FairDbTableMetaData
*
31
MetaData
()
const
{
return
fMetaData
; }
32
// State changing member functions
33
34
virtual
void
DecrementCurCol
() {
35
fCurCol
= (
fCurCol
<= 1) ? 1 :
fCurCol
-1;
36
}
37
// Allow IncrementCurCol to step off end (to catch attempt to read
38
// too much data)
39
virtual
void
IncrementCurCol
() { ++
fCurCol
; }
40
41
protected
:
42
43
virtual
void
ClearCurCol
() {
fCurCol
= 1; }
44
45
private
:
46
47
UShort_t
fCurCol
;
48
Bool_t
fHasRowCounter
;
49
const
FairDbTableMetaData
*
fMetaData
;
50
51
FairDbRowStream
(
const
FairDbRowStream
&);
52
FairDbRowStream
operator=
(
const
FairDbRowStream
&);
53
54
ClassDef(
FairDbRowStream
,0)
// I/O of a table row.
55
56
};
57
58
59
#endif // FAIRDBROWSTREAM_H
EicRoot
blob
master
dbase
dbInterface
FairDbRowStream.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:33
using
1.8.2 with
EIC GitHub integration