EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairParIo.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairParIo.h
1 #ifndef FAIRPARIO_H
2 #define FAIRPARIO_H
3 
4 #include "TObject.h"
5 #include "TList.h"
6 
7 class FairDetParIo;
8 class FairRtdbRun;
9 
10 class FairParIo : public TObject
11 {
12  protected:
13  TList* detParIoList; // list of detector I/Os
14  Bool_t autoWritable; // flag indicating if automatic write is possible
15  TString filename;
16  public:
17  FairParIo();
18  virtual ~FairParIo();
19  virtual FairDetParIo* getDetParIo(const Text_t*);
20  virtual void setDetParIo(FairDetParIo*);
21  virtual void removeDetParIo(Text_t*);
22  void setInputNumber(Int_t);
23  virtual void close() {;}
24 
25  // returns the filename
26  const char* getFilename() {return filename.Data();}
27 
28  // creates input/output class for a special detector and stores pointer
29  // used only for Oracle input/output
30  // (code in class OraIo)
31  virtual void setDetParIo(Text_t*) {;}
32 
33  // prints information about input/output
34  virtual void print() {;}
35 
36  // checks if the input/output is open
37  virtual Bool_t check() { return kFALSE; }
38 
39  // reads versions of parameter containers for an event file
40  virtual void readVersions(FairRtdbRun*) {;}
41 
42  // sets global file pointer in ROOT if input/output is a ROOT-file
43  // (code in FairParRootFileIo)
44  virtual void cd() {;}
45 
46  // set and get for flag autoWritable
47  void setAutoWritable(Bool_t f=kTRUE) {autoWritable=f;}
48  Bool_t isAutoWritable() {return autoWritable;}
49 
50  private:
51  FairParIo(const FairParIo&);
52  FairParIo& operator=(const FairParIo&);
53 
54  ClassDef(FairParIo,0) // Base class for all parameter I/Os
55 };
56 
57 #endif /* !FAIRPARIO_H */
58 
59 
60 
61