ATLAS Offline Software
TBTrack.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TBEVENT_TBTrack_H
6 #define TBEVENT_TBTrack_H
7 // //
9 // Reconstructed Track from hit position in
10 // Test Beam detectors //
11 // //
13 
14 #include "GaudiKernel/MsgStream.h"
15 #include "AthenaKernel/CLASS_DEF.h"
16 
17 #include <vector>
18 
19 class TBTrack
20 {
21  public:
22 
23  typedef double signal_type;
24 
26  // Constructors and Destructor //
28 
30  {};
31 
32  TBTrack(int hitNumberX,int hitNumberY);
33 
34  TBTrack(const std::vector<double>& residualU,
35  const std::vector<double>& residualV);
36 
37  ~TBTrack();
38 
40  // Data Manipulation //
42 
43  // Getter --------------------------------
44 
45  int getHitNumberU() const { return m_hitNumberU; }
46  int getHitNumberV() const { return m_hitNumberV; }
47 
48  double getChi2_global() const { return m_chi2; }
49  double getChi2_u() const { return m_chi2u; }
50  double getChi2_v() const { return m_chi2v; }
51  double getAngle() const { return m_angle; }
52  double getUslope() const { return m_uslope; }
53  double getVslope() const { return m_vslope; }
54  double getUintercept() const { return m_uintercept; }
55  double getVintercept() const { return m_vintercept; }
56 
57  double getResidualu(int ind) const
58  { return ind<m_hitNumberU ? m_residualu[ind]: 0; }
59 
60  double getResidualv(int ind) const
61  { return ind<m_hitNumberV ? m_residualv[ind]: 0; }
62 
63  const std::vector<double>& getResidualu() const { return m_residualu; }
64  const std::vector<double>& getResidualv() const { return m_residualv; }
65 
66  double getCryoHitu() const {return m_cryou;}
67  double getCryoHitv() const {return m_cryov;}
68  double getCryoHitw() const {return m_cryow;}
69 
70  // Setter --------------------------------
71 
72  void setChi2(double chi2) { m_chi2=chi2; }
73  void setChi2_u(double chi2u) { m_chi2u = chi2u; }
74  void setChi2_v(double chi2v) { m_chi2v = chi2v; }
75  void setAngle(double angle) { m_angle=angle; }
76  void setUslope(double uslope) { m_uslope=uslope; }
77  void setVslope(double vslope) { m_vslope=vslope; }
78  void setUintercept(double uintercept) { m_uintercept = uintercept; }
79  void setVintercept(double vintercept) { m_vintercept = vintercept; }
80 
81  void setResidualu(int ind, double residualu ) { m_residualu[ind] = residualu;}
82  void setResidualv(int ind, double residualv ) { m_residualv[ind] = residualv;}
83 
84  void setCryoHitu(float cryou){ m_cryou=cryou;}
85  void setCryoHitv(float cryov){ m_cryov=cryov;}
86  void setCryoHitw(float cryow){ m_cryow=cryow;}
87 
88  private:
89 
91  // Private Data //
93 
94  // number of hits used for reconstruction
96 
97  // Residuals between detector hit and fitted hit (in detector local coordonates)
98  std::vector<double> m_residualu, m_residualv;
99 
100 
101  // track parameters
102  double m_chi2 = 0, m_chi2u = 0, m_chi2v = 0;
103  double m_angle = 0; // angle between track and Z TestBeam axe
104  double m_uslope = 0,m_vslope = 0; // slopes with respect to Z TestBeam axe
105  double m_uintercept = 0, m_vintercept = 0;
106 
107  // extrapoled hit position at cryostat (reconstruction coordonates);
108  double m_cryou = 0,m_cryov = 0,m_cryow = 0;
109 
110 };
111 CLASS_DEF( TBTrack , 129507460 , 1 )
112 
113 #endif
TBTrack::m_cryov
double m_cryov
Definition: TBTrack.h:108
TBTrack::setChi2_v
void setChi2_v(double chi2v)
Definition: TBTrack.h:74
TBTrack::getUslope
double getUslope() const
Definition: TBTrack.h:52
TBTrack::m_angle
double m_angle
Definition: TBTrack.h:103
TBTrack::setVslope
void setVslope(double vslope)
Definition: TBTrack.h:77
TBTrack
Definition: TBTrack.h:20
TBTrack::getHitNumberU
int getHitNumberU() const
Definition: TBTrack.h:45
TBTrack::m_residualu
std::vector< double > m_residualu
Definition: TBTrack.h:98
TBTrack::getUintercept
double getUintercept() const
Definition: TBTrack.h:54
TBTrack::getChi2_global
double getChi2_global() const
Definition: TBTrack.h:48
TBTrack::m_chi2v
double m_chi2v
Definition: TBTrack.h:102
TBTrack::setVintercept
void setVintercept(double vintercept)
Definition: TBTrack.h:79
TBTrack::getCryoHitv
double getCryoHitv() const
Definition: TBTrack.h:67
TBTrack::setCryoHitv
void setCryoHitv(float cryov)
Definition: TBTrack.h:85
TBTrack::getResidualu
const std::vector< double > & getResidualu() const
Definition: TBTrack.h:63
TBTrack::m_vintercept
double m_vintercept
Definition: TBTrack.h:105
TBTrack::setCryoHitu
void setCryoHitu(float cryou)
Definition: TBTrack.h:84
TBTrack::setUslope
void setUslope(double uslope)
Definition: TBTrack.h:76
TBTrack::getHitNumberV
int getHitNumberV() const
Definition: TBTrack.h:46
TBTrack::signal_type
double signal_type
Definition: TBTrack.h:23
TBTrack::m_chi2u
double m_chi2u
Definition: TBTrack.h:102
TBTrack::getChi2_u
double getChi2_u() const
Definition: TBTrack.h:49
TBTrack::m_vslope
double m_vslope
Definition: TBTrack.h:104
TBTrack::setUintercept
void setUintercept(double uintercept)
Definition: TBTrack.h:78
TBTrack::getResidualv
const std::vector< double > & getResidualv() const
Definition: TBTrack.h:64
TBTrack::getVslope
double getVslope() const
Definition: TBTrack.h:53
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
TBTrack::getCryoHitu
double getCryoHitu() const
Definition: TBTrack.h:66
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
TBTrack::getChi2_v
double getChi2_v() const
Definition: TBTrack.h:50
TBTrack::m_uslope
double m_uslope
Definition: TBTrack.h:104
TBTrack::setCryoHitw
void setCryoHitw(float cryow)
Definition: TBTrack.h:86
TBTrack::getAngle
double getAngle() const
Definition: TBTrack.h:51
TBTrack::setResidualv
void setResidualv(int ind, double residualv)
Definition: TBTrack.h:82
TBTrack::getResidualv
double getResidualv(int ind) const
Definition: TBTrack.h:60
TBTrack::m_chi2
double m_chi2
Definition: TBTrack.h:102
TBTrack::getVintercept
double getVintercept() const
Definition: TBTrack.h:55
TBTrack::TBTrack
TBTrack()
Definition: TBTrack.h:29
TBTrack::getCryoHitw
double getCryoHitw() const
Definition: TBTrack.h:68
TBTrack::m_hitNumberV
int m_hitNumberV
Definition: TBTrack.h:95
TBTrack::setAngle
void setAngle(double angle)
Definition: TBTrack.h:75
TBTrack::setChi2
void setChi2(double chi2)
Definition: TBTrack.h:72
TBTrack::m_residualv
std::vector< double > m_residualv
Definition: TBTrack.h:98
TBTrack::setChi2_u
void setChi2_u(double chi2u)
Definition: TBTrack.h:73
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TBTrack::m_cryow
double m_cryow
Definition: TBTrack.h:108
TBTrack::~TBTrack
~TBTrack()
Definition: TBTrack.cxx:23
TBTrack::m_hitNumberU
int m_hitNumberU
Definition: TBTrack.h:95
TBTrack::setResidualu
void setResidualu(int ind, double residualu)
Definition: TBTrack.h:81
CLASS_DEF.h
macros to associate a CLID to a type
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
TBTrack::m_cryou
double m_cryou
Definition: TBTrack.h:108
TBTrack::m_uintercept
double m_uintercept
Definition: TBTrack.h:105
TBTrack::getResidualu
double getResidualu(int ind) const
Definition: TBTrack.h:57