Belle II Software  release-08-01-10
MicrotpcMetaEDataHit.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef MICROTPCMETAEDATAHIT_H
10 #define MICROTPCMETAEDATAHIT_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 //#include <framework/datastore/RelationsObject.h>
14 
15 // ROOT
16 #include <TVector3.h>
17 
18 namespace Belle2 {
31  public:
33  //MicrotpcMetaEDataHit(): m_column(0), m_row(0), m_BCID(0), m_TOT(0), m_detNb(0) {}
35  m_ts_nb(0), m_ts_start(), m_ts_stop(),
37  m_IHER(0), m_PHER(0), m_tHER(0), m_flagHER(0),
38  m_ILER(0), m_PLER(0), m_tLER(0), m_flagLER(0) {}
39 
60  /*
61  MicrotpcMetaEDataHit(int column, int row, int BCID, int TOT, int detNb):
62  m_column(column), m_row(row), m_BCID(BCID), m_TOT(TOT), m_detNb(detNb)
63  {
64  }
65  */
66  MicrotpcMetaEDataHit(int detNb, int pixNb,
67  int ts_nb, const double ts_start[10], const double ts_stop[10],
68  const float Temperature[4], const float Pressure[2], const float Flow[2], float SetFlow, float GetFlow,
69  double IHER, double PHER, double tHER, int flagHER,
70  double ILER, double PLER, double tLER, int flagLER):
71  m_detNb(detNb), m_pixNb(pixNb), m_ts_nb(ts_nb), m_SetFlow(SetFlow), m_GetFlow(GetFlow),
72  m_IHER(IHER), m_PHER(PHER), m_tHER(tHER), m_flagHER(flagHER),
73  m_ILER(ILER), m_PLER(PLER), m_tLER(tLER), m_flagLER(flagLER)
74  {
75  std::copy(ts_start, ts_start + 10, m_ts_start);
76  std::copy(ts_stop, ts_stop + 10, m_ts_stop);
77  std::copy(Temperature, Temperature + 4, m_Temperature);
78  std::copy(Pressure, Pressure + 2, m_Pressure);
79  std::copy(Flow, Flow + 2, m_Flow);
80  }
81 
82 
84  void setcolumn(std::vector<int>& column)
85  {
86  m_column.clear();
87  std::swap(m_column, column);
88  }
90  void setrow(std::vector<int>& row)
91  {
92  m_row.clear();
93  std::swap(m_row, row);
94  }
96  void setBCID(std::vector<int>& BCID)
97  {
98  m_BCID.clear();
99  std::swap(m_BCID, BCID);
100  }
102  void setTOT(std::vector<int>& TOT)
103  {
104  m_TOT.clear();
105  std::swap(m_TOT, TOT);
106  }
107 
109  //int getcolumn() const { return m_column; }
110  std::vector<int > getcolumn() const;
112  //int getrow() const { return m_row; }
113  std::vector<int > getrow() const;
115  //int getBCID() const { return m_BCID; }
116  std::vector<int > getBCID() const;
118  //int getTOT() const { return m_TOT; }
119  std::vector<int > getTOT() const;
121  int getdetNb() const { return m_detNb; }
123  int getpixNb() const { return m_pixNb; }
125  int getts_nb() const { return m_ts_nb; }
127  const double* getts_start() const { return m_ts_start; }
129  const double* getts_stop() const { return m_ts_stop; }
131  const float* getTemperature() const { return m_Temperature; }
133  const float* getPressure() const { return m_Pressure; }
135  const float* getFlow() const { return m_Flow; }
137  float getSetFlow() const { return m_SetFlow; }
139  float getGetFlow() const { return m_GetFlow; }
141  double getIHER() const { return m_IHER; }
143  double getPHER() const { return m_PHER; }
145  double gettHER() const { return m_tHER; }
147  double getflagHER() const { return m_flagHER; }
149  double getILER() const { return m_ILER; }
151  double getPLER() const { return m_PLER; }
153  double gettLER() const { return m_tLER; }
155  double getflagLER() const { return m_flagLER; }
156 
157  private:
158 
160  //int m_column;
161  std::vector<int> m_column;
163  //int m_row;
164  std::vector<int> m_row;
166  //int m_BCID;
167  std::vector<int> m_BCID;
169  //int m_TOT;
170  std::vector<int> m_TOT;
172  int m_detNb;
174  int m_pixNb;
176  int m_ts_nb;
178  double m_ts_start[10];
180  double m_ts_stop[10];
182  float m_Temperature[4];
184  float m_Pressure[2];
186  float m_Flow[2];
188  float m_SetFlow;
190  float m_GetFlow;
192  double m_IHER;
194  double m_PHER;
196  double m_tHER;
198  double m_flagHER;
200  double m_ILER;
202  double m_PLER;
204  double m_tLER;
206  double m_flagLER;
207 
209  };
210 
212 } // end namespace Belle2
213 
214 #endif
ClassMicrotpcDataHit - digitization simulated datahit for the Microtpc detector.
std::vector< int > getrow() const
Return row vector.
double getflagHER() const
Return HER injection flag.
const float * getTemperature() const
Return TPC temperature.
double getIHER() const
Return HER current.
std::vector< int > m_column
Column.
void setBCID(std::vector< int > &BCID)
Set bc into a vector array.
float getGetFlow() const
Return TPC slow control get flow.
void setTOT(std::vector< int > &TOT)
Set tot into a vector array.
float getSetFlow() const
Return TPC slow control set flow.
MicrotpcMetaEDataHit(int detNb, int pixNb, int ts_nb, const double ts_start[10], const double ts_stop[10], const float Temperature[4], const float Pressure[2], const float Flow[2], float SetFlow, float GetFlow, double IHER, double PHER, double tHER, int flagHER, double ILER, double PLER, double tLER, int flagLER)
Standard constructor.
double gettHER() const
Return HER beam life time.
const float * getFlow() const
Return TPC flow.
double m_ts_stop[10]
Stop time stamp.
double getflagLER() const
Return HER injection flag.
void setcolumn(std::vector< int > &column)
Set column into a vector array.
int getdetNb() const
Return the TPC number.
int getts_nb() const
Return the number of time stamp.
std::vector< int > m_BCID
BCID.
std::vector< int > getcolumn() const
Return column vector.
float m_Temperature[4]
Temperature.
const float * getPressure() const
Return TPC pressure.
int getpixNb() const
Return the pixel number firing.
std::vector< int > getBCID() const
Return BCID vector.
std::vector< int > getTOT() const
Return TOT vector.
double getPHER() const
Return HER average pressure.
double m_flagLER
LER injection flag.
void setrow(std::vector< int > &row)
Set row into a vector array.
double m_ts_start[10]
Start time stamp.
const double * getts_start() const
Return start readout time stamp.
double getPLER() const
Return LER average pressure.
MicrotpcMetaEDataHit()
default constructor for ROOT
double m_flagHER
HER injection flag.
double gettLER() const
Return HER beam life time.
const double * getts_stop() const
Return stop readout time stamp.
double getILER() const
Return LER current.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class SimHitBase - A common base for subdetector SimHits.
Definition: SimHitBase.h:28
Abstract base class for different kinds of events.