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