MarlinTPC  1.2.0
TPCConditions.h
1 #ifndef TPCConditions_h
2 #define TPCConditions_h 1
3 
4 #include "iostream"
5 #include "string"
6 
7 #include "lcio.h"
8 #include "UTIL/LCFixedObject.h"
9 
10 
11 #define TPCConditionsNINTVals 0
12 #define TPCConditionsNFLOATVals 8
13 #define TPCConditionsNDOUBLEVals 0
14 
15 
16 namespace tpcconddata{
17 
18 class TPCConditions ;
19 
20 class TPCConditions : public UTIL::LCFixedObject<TPCConditionsNINTVals,
21  TPCConditionsNFLOATVals,TPCConditionsNDOUBLEVals> {
22 
23 public:
24 
27  TPCConditions();
28 
31  TPCConditions(EVENT::LCObject* obj) : UTIL::LCFixedObject<TPCConditionsNINTVals,
32  TPCConditionsNFLOATVals,
33  TPCConditionsNDOUBLEVals>(obj) { }
34 
36  virtual ~TPCConditions();
37 
38  // the class interface:
39 
41  float getDriftVelocity() const;
42 
45  float getTimeOffset() const;
46 
48  float getLongDiffusionCoef() const;
49 
51  float getLongDefocussing() const;
52 
54  float getTransDiffusionCoef() const;
55 
57  float getTransDefocussing() const;
58 
60  float getAmplification() const;
61 
63  float getADCtoPrimaryElectronsFactor() const;
64 
66  void setDriftVelocity(float Value);
67 
69  void setTimeOffset(float Value);
70 
72  void setLongDiffusionCoef(float Value);
73 
75  void setLongDefocussing(float Value);
76 
78  void setTransDiffusionCoef(float Value);
79 
81  void setTransDefocussing(float Value) ;
82 
84  void setAmplification(float Value);
85 
87  void setADCtoPrimaryElectronsFactor(float Value);
88 
89  static std::string getRevision();
90  static std::string getDefaultColName();
91 
92  void print( std::ostream& os = std::cout ) const;
93 
94  // -------- need to implement abstract methods from LCGenericObject
95  const std::string getTypeName() const {
96  return "TPCConditions";
97  }
98  const std::string getDataDescription() const {
99  return std::string("f:Driftvelocity,TimeOffset,longDiffusionCoef,longDefocussing,")+
100  std::string("transDiffusionCoef,transDefocussing,Amplification");
101  }
102 }; // class
103 
104  std::ostream &operator<<(std::ostream &os, const TPCConditions &tc);
105 }
106 #endif
void setTimeOffset(float Value)
set the time offset in us
Definition: TPCConditions.cc:90
float getDriftVelocity() const
return the drift velocity (in mm/us)
Definition: TPCConditions.cc:30
float getLongDiffusionCoef() const
return the diffusion coefficent for the longitudinal diffusion (in sqrt(mm))
Definition: TPCConditions.cc:34
void setLongDefocussing(float Value)
set the defocussion constant for the longitudinal diffusion (in mm)
Definition: TPCConditions.cc:70
float getADCtoPrimaryElectronsFactor() const
return the conversion factor from ADC counts to primary electrons (ADC * conv.Factor = # primary e) ...
Definition: TPCConditions.cc:54
float getTransDefocussing() const
return the defocussion constant for the transversal diffusion (in mm)
Definition: TPCConditions.cc:46
void setTransDefocussing(float Value)
set the defocussion constant for the transversal diffusion (in mm)
Definition: TPCConditions.cc:78
void setLongDiffusionCoef(float Value)
set the diffusion coefficient for the longitudinal diffusion (in sqrt(mm))
Definition: TPCConditions.cc:66
void setADCtoPrimaryElectronsFactor(float Value)
set the conversion factor from ADC counts to primary electrons (ADC * conv.Factor = # primary e) ...
Definition: TPCConditions.cc:86
float getAmplification() const
return the amplification of the gas amplification device (e.g. GEMs)
Definition: TPCConditions.cc:50
void setDriftVelocity(float Value)
set the drift velocity in mm/us
Definition: TPCConditions.cc:62
void setAmplification(float Value)
set the amplification of the gas amplification device (e.g. GEMs)
Definition: TPCConditions.cc:82
float getTimeOffset() const
return the time offset (in us).
Definition: TPCConditions.cc:58
TPCConditions()
Convenient constructor.
Definition: TPCConditions.cc:17
float getLongDefocussing() const
return the defocussion constant for the longitudinal diffusion (in mm)
Definition: TPCConditions.cc:38
TPCConditions(EVENT::LCObject *obj)
'Copy constructor' needed to interpret LCCollection read from file/database.
Definition: TPCConditions.h:31
void setTransDiffusionCoef(float Value)
set the diffusion coefficient for the transversal diffusion (in sqrt(mm))
Definition: TPCConditions.cc:74
Definition: TPCConditions.h:20
float getTransDiffusionCoef() const
return the diffusion coefficent for the transversal diffusion (in sqrt(mm))
Definition: TPCConditions.cc:42
virtual ~TPCConditions()
Important for memory handling.
Definition: TPCConditions.cc:28