ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PdbCalBank.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PdbCalBank.h
1  // Declaration of class PdbCalBank
2 // Purpose: Calibration bank base class
3 // Author: Matthias Messer
4 
5 #ifndef PDBCAL_BASE_PDBCALBANK_H
6 #define PDBCAL_BASE_PDBCALBANK_H
7 
8 #include "PdbBankID.h"
9 
10 #include <phool/PHTimeStamp.h>
11 
12 #include <phool/PHObject.h>
13 
14 #include <cstddef>
15 #include <string>
16 
17 class PdbCalChan;
18 class PHTimeStamp;
19 
20 class PdbCalBank : public PHObject
21 {
22 public:
24  ~PdbCalBank() override {}
25  PHObject* CloneMe() const override;
26 
27  virtual void printHeader() const = 0;
28  virtual void print() = 0;
29  virtual void printEntry(size_t) = 0;
30 
31  virtual size_t getLength() = 0;
32  virtual PdbCalChan & getEntry(size_t) = 0;
33  virtual void setLength(size_t val) = 0;
34 
35  //
36  // Access functions for the header
37  //
38  virtual PdbBankID getBankID() const = 0;
39  virtual PHTimeStamp getInsertTime() const = 0;
40  virtual PHTimeStamp getStartValTime() const = 0;
41  virtual PHTimeStamp getEndValTime() const = 0;
42  virtual std::string getDescription() const = 0;
43  virtual std::string getUserName() const = 0;
44 
45  virtual void setBankID(const PdbBankID &) = 0;
46  virtual void setInsertTime(const PHTimeStamp &) = 0;
47  virtual void setStartValTime(const PHTimeStamp &) = 0;
48  virtual void setEndValTime(const PHTimeStamp &) = 0;
49  virtual void setDescription(const std::string &) = 0;
50  virtual void setUserName(const std::string &) = 0;
51  using PHObject::isValid;
52  virtual int isValid(const PHTimeStamp &) const = 0;
53 
55 };
56 
57 #endif /* PDBCAL_BASE_PDBCALBANK_H */