Belle II Software  release-08-01-10
MicrotpcRecoTrack.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 MICROTPCRECOTRACK_H
10 #define MICROTPCRECOTRACK_H
11 
12 #include <simulation/dataobjects/SimHitBase.h>
13 
14 namespace Belle2 {
22  class MicrotpcRecoTrack : public SimHitBase {
23  public:
24  //typedef std::vector<unsigned int>::iterator iterator;
25  //typedef std::vector<unsigned int>::const_iterator const_iterator;
26 
30 
49  MicrotpcRecoTrack(int detNb, int pixnb, float chi2, float theta, float phi, float esum, int totsum, float trl, int time_range,
50  const float parFit[5], const float parFit_err[5], const float cov[25], const float impact_x[4], const float impact_y[4],
51  const int side[16], const int partID[6]):
52  m_detNb(detNb), m_pixnb(pixnb), m_chi2(chi2), m_theta(theta), m_phi(phi), m_esum(esum), m_totsum(totsum), m_trl(trl),
53  m_time_range(time_range)
54  {
55  std::copy(parFit, parFit + 5, m_parFit);
56  std::copy(parFit_err, parFit_err + 5, m_parFit_err);
57  //std::copy(&cov[0][0], &cov[0][0] + 5 * 5, &m_cov[0][0]);
58  std::copy(cov, cov + 25, m_cov);
59  std::copy(impact_x, impact_x + 4, m_impact_x);
60  std::copy(impact_y, impact_y + 4, m_impact_y);
61  //std::copy(&side[0][0], &side[0][0] + 4 * 4, &m_side[0][0]);
62  std::copy(side, side + 16, m_side);
63  std::copy(partID, partID + 6, m_partID);
64  }
66  int getdetNb() const { return m_detNb; }
68  int getpixnb() const { return m_pixnb; }
70  float getchi2() const { return m_chi2; }
72  float gettheta() const { return m_theta; }
74  float getphi() const { return m_phi; }
76  //float parFit[4];
77  const float* getparFit() const { return m_parFit; }
79  const float* getparFit_err() const { return m_parFit_err; }
81  //const float* getcov() const { return m_cov[5];}
82  const float* getcov() const { return m_cov;}
84  float getesum() const { return m_esum; }
86  float gettrl() const { return m_trl; }
88  int gettotsum() const { return m_totsum; }
90  int gettime_range() const { return m_time_range; }
92  const float* getimpact_x() const { return m_impact_x; }
94  //void getimpact_y(float impact_y[4]) const { m_impact_y = impact_x; return m_impact_y; }
95  const float* getimpact_y() const { return m_impact_y; }
97  //void getside(int ** side) const { m_side = side; return m_side; }
98  //const int* getside() const { return m_side[4]; }
99  const int* getside() const { return m_side; }
101  const int* getpartID() const { return m_partID; }
102 
103  private:
105  int m_detNb;
107  int m_pixnb;
109  float m_chi2;
111  float m_theta;
113  float m_phi;
115  float m_esum;
117  int m_totsum;
119  float m_trl;
123  float m_parFit[5];
125  float m_parFit_err[5];
127  float m_cov[25];
129  float m_impact_x[4];
131  float m_impact_y[4];
133  //int m_side[4][4];
134  int m_side[16];
136  int m_partID[6];
137 
139  };
140 
142 } // end namespace Belle2
143 
144 #endif
ClassMicrotpcRecoTrack - fit tracks after the digitization.
float m_chi2
chi^2 of the fit
float m_esum
total ionization energy
float getchi2() const
Return the chi^2.
const float * getimpact_x() const
Return impact parameter x.
int gettime_range() const
Return trigger/time length.
float gettheta() const
Return the polar angle in degrees.
float getphi() const
Return the azimuthal angle in degrees.
const float * getimpact_y() const
Return impact parameter y.
const float * getparFit_err() const
Return the fit parameter errors.
float m_phi
Azimuthal angle phi in degrees.
int m_partID[6]
Raw particle ID.
const int * getpartID() const
Return raw part ID.
float m_impact_y[4]
Impact parameter y.
int getdetNb() const
Return detector number.
int m_detNb
detector number
float m_cov[25]
Covariant errors.
MicrotpcRecoTrack()
default constructor for ROOT
int m_side[16]
Which side was/were hit.
int gettotsum() const
Return tot sum.
int m_time_range
Trigger/time length.
float getesum() const
Return total ionization energy.
float m_parFit_err[5]
Fit paramteter errors.
float m_parFit[5]
Fit parameters.
MicrotpcRecoTrack(int detNb, int pixnb, float chi2, float theta, float phi, float esum, int totsum, float trl, int time_range, const float parFit[5], const float parFit_err[5], const float cov[25], const float impact_x[4], const float impact_y[4], const int side[16], const int partID[6])
Standard constructor.
float m_impact_x[4]
Impact parameter x.
const int * getside() const
Return which side was/were hit.
int getpixnb() const
Return pixel number.
const float * getcov() const
Return covariant.
const float * getparFit() const
Return the fit parameters.
float gettrl() const
Return track length.
float m_theta
Polar angle theta in degrees.
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.