ATLAS Offline Software
Loading...
Searching...
No Matches
AlignTrk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETALIGNTRKINFO_ALIGNTRK_H
6#define INDETALIGNTRKINFO_ALIGNTRK_H
7// AlignTrk.h - transient copy of information in InDetAlignNt ntuple
8// Richard Hawkings, started 13/4/04
9// Ntuple contents are documented on ID alignment webpage
10// http://rhawking.home.cern.ch/rhawking/atlas/aligntrk/welcome.html
11
12#include <vector>
15
16class AlignTrk {
17
18public:
19 // default constructor
20 AlignTrk();
21 // access methods
22 int nhits() const;
23 int noverlapPIX() const;
24 int noverlapSCT() const;
25 int nscat() const;
26 int irun() const;
27 int ievent() const;
28 int itrack() const;
29 int nholes() const;
30 int nshared() const;
31 float trkpar(int) const;
32 float trkcov(int) const;
33 int ikine() const;
34 float truetrkpar(int) const;
35 int ivtx() const;
36 float trpvtx(int) const;
37 float beampos(int) const;
38 float beamsigma(int) const;
39 float beamtilt(int) const;
40 float trtpt() const;
41 float trtpterr() const;
42 int ntrthits() const;
43
44
45 // set methods
46 void set_noverlapPIX(const int);
47 void set_noverlapSCT(const int);
48 void set_nscat(const int);
49 void set_irun(const int);
50 void set_ievent(const int);
51 void set_itrack(const int);
52 void set_nholes(const int);
53 void set_nshared(const int);
54 void set_trkpar(const float,const int);
55 void set_trkcov(const float,const int);
56 void set_ikine(const int);
57 void set_truetrkpar(const float,const int);
58 void set_ivtx(const int);
59 void set_trpvtx(const float,const int);
60 void set_beampos(const float, const int);
61 void set_beamsigma(const float, const int);
62 void set_beamtilt(const float, const int);
63 void set_trtcons(const float, const float);
64 std::vector<AlignSiHit>::iterator hitlist_begin();
65 std::vector<AlignSiHit>::iterator hitlist_end();
66 std::vector<AlignSiHit>::const_iterator hitlist_cbegin() const;
67 std::vector<AlignSiHit>::const_iterator hitlist_cend() const;
68
69 void add_hit(AlignSiHit&);
70
71 void print() const;
73 std::vector<AlignTRTHit>::iterator trthitlist_begin();
74 std::vector<AlignTRTHit>::iterator trthitlist_end();
75 std::vector<AlignTRTHit>::const_iterator trthitlist_cbegin() const;
76 std::vector<AlignTRTHit>::const_iterator trthitlist_cend() const;
77
78 /* void add_overlaphit(AlignSiHit&); // in progress */
79/* std::vector<AlignSiHit>::iterator overlaphitlist_begin(); */
80/* std::vector<AlignSiHit>::iterator overlaphitlist_end(); */
81/* std::vector<AlignSiHit>::const_iterator overlaphitlist_cbegin() const; */
82/* std::vector<AlignSiHit>::const_iterator overlaphitlist_cend() const; */
83
84
85private:
87 int m_irun;
94 float m_trkpar[5]{};
95 float m_trkcov[15]{};
97 float m_truetrkpar[5]{};
98 int m_ivtx;
99 float m_trpvtx[3]{};
100 float m_beampos[3]{};
101 float m_beamsigma[3]{};
102 float m_beamtilt[2]{};
103 float m_trtpt = 0.0F;
104 float m_trtpterr = 0.0F;
105 std::vector<AlignSiHit> m_hits;
106 std::vector<AlignTRTHit> m_trthits;
107 std::vector<AlignSiHit> m_overlaphits;
108};
109
110inline int AlignTrk::nhits() const { return m_hits.size(); }
111
112inline int AlignTrk::noverlapPIX() const { return m_noverlapPIX; }
113inline int AlignTrk::noverlapSCT() const { return m_noverlapSCT; }
114
115inline int AlignTrk::nscat() const { return m_nscat; }
116inline int AlignTrk::irun() const { return m_irun; }
117inline int AlignTrk::ievent() const { return m_ievent; }
118inline int AlignTrk::itrack() const { return m_itrack; }
119inline int AlignTrk::nholes() const { return m_nholes; }
120inline int AlignTrk::nshared() const { return m_nshared; }
121inline float AlignTrk::trkpar(int i) const { return m_trkpar[i-1]; }
122inline float AlignTrk::trkcov(int i) const { return m_trkcov[i-1]; }
123inline int AlignTrk::ikine() const { return m_ikine; }
124inline float AlignTrk::truetrkpar(int i) const { return m_truetrkpar[i-1]; }
125inline int AlignTrk::ivtx() const { return m_ivtx; }
126inline float AlignTrk::trpvtx(int i) const { return m_trpvtx[i-1]; }
127inline float AlignTrk::beampos(int i) const { return m_beampos[i-1]; }
128inline float AlignTrk::beamsigma(int i) const { return m_beamsigma[i-1]; }
129inline float AlignTrk::beamtilt(int i) const { return m_beamtilt[i-1]; }
130inline float AlignTrk::trtpt() const { return m_trtpt; }
131inline float AlignTrk::trtpterr() const { return m_trtpterr; }
132inline int AlignTrk::ntrthits() const { return m_trthits.size(); }
133
134
135inline void AlignTrk::set_noverlapPIX(const int i) { m_noverlapPIX=i; }
136inline void AlignTrk::set_noverlapSCT(const int i) { m_noverlapSCT=i; }
137
138inline void AlignTrk::set_nscat(const int i) { m_nscat=i; }
139inline void AlignTrk::set_irun(const int i) { m_irun=i; }
140inline void AlignTrk::set_ievent(const int i) { m_ievent=i; }
141inline void AlignTrk::set_itrack(const int i) { m_itrack=i; }
142inline void AlignTrk::set_nholes(const int i) { m_nholes=i; }
143inline void AlignTrk::set_nshared(const int i) { m_nshared=i; }
144inline void AlignTrk::set_trkpar(const float f,const int i) { m_trkpar[i-1]=f;}
145inline void AlignTrk::set_trkcov(const float f,const int i) { m_trkcov[i-1]=f;}
146inline void AlignTrk::set_ikine(const int i) { m_ikine=i; }
147inline void AlignTrk::set_truetrkpar(const float f,const int i)
148 { m_truetrkpar[i-1]=f; }
149inline void AlignTrk::set_ivtx(const int i) { m_ivtx=i; }
150inline void AlignTrk::set_trpvtx(const float f,const int i) { m_trpvtx[i-1]=f;}
151inline void AlignTrk::set_beampos(const float f, const int i)
152 { m_beampos[i-1]=f;}
153inline void AlignTrk::set_beamsigma(const float f, const int i)
154 { m_beamsigma[i-1]=f;}
155inline void AlignTrk::set_beamtilt(const float f, const int i)
156 { m_beamtilt[i-1]=f;}
157inline void AlignTrk::set_trtcons(const float pt, const float pterr)
158{ m_trtpt=pt; m_trtpterr=pterr; }
159
160
161inline std::vector<AlignSiHit>::iterator AlignTrk::hitlist_begin()
162{ return m_hits.begin(); }
163inline std::vector<AlignSiHit>::iterator AlignTrk::hitlist_end()
164{ return m_hits.end(); }
165inline std::vector<AlignSiHit>::const_iterator AlignTrk::hitlist_cbegin()
166const { return m_hits.begin(); }
167inline std::vector<AlignSiHit>::const_iterator AlignTrk::hitlist_cend()
168const { return m_hits.end(); }
169
170inline std::vector<AlignTRTHit>::iterator AlignTrk::trthitlist_begin()
171{ return m_trthits.begin(); }
172inline std::vector<AlignTRTHit>::iterator AlignTrk::trthitlist_end()
173{ return m_trthits.end(); }
174inline std::vector<AlignTRTHit>::const_iterator AlignTrk::trthitlist_cbegin()
175 const { return m_trthits.begin(); }
176inline std::vector<AlignTRTHit>::const_iterator AlignTrk::trthitlist_cend()
177 const { return m_trthits.end(); }
178
179
180/* inline std::vector<AlignSiHit>::iterator AlignTrk::overlaphitlist_begin() */
181/* { return m_overlaphits.begin(); } */
182/* inline std::vector<AlignSiHit>::iterator AlignTrk::overlaphitlist_end() */
183/* { return m_overlaphits.end(); } */
184
185/* inline std::vector<AlignSiHit>::const_iterator AlignTrk::overlaphitlist_cbegin() */
186/* const { return m_overlaphits.begin(); } */
187/* inline std::vector<AlignSiHit>::const_iterator AlignTrk::overlaphitlist_cend() */
188/* const { return m_overlaphits.end(); } */
189
190
191inline void AlignTrk::add_hit(AlignSiHit& hit) { m_hits.push_back(hit); }
192inline void AlignTrk::add_trthit(AlignTRTHit& hit) {m_trthits.push_back(hit);}
193//inline void AlignTrk::add_overlaphit(AlignSiHit& hit) {m_overlaphits.push_back(hit);} //in progress
194
195#endif // INDETALIGNTRKINFO_ALIGNTRK_H
196
197
198
float m_truetrkpar[5]
Definition AlignTrk.h:97
int m_noverlapPIX
Definition AlignTrk.h:92
int irun() const
Definition AlignTrk.h:116
void set_noverlapPIX(const int)
Definition AlignTrk.h:135
float beampos(int) const
Definition AlignTrk.h:127
int itrack() const
Definition AlignTrk.h:118
std::vector< AlignSiHit >::iterator hitlist_end()
Definition AlignTrk.h:163
int ikine() const
Definition AlignTrk.h:123
int m_ikine
Definition AlignTrk.h:96
std::vector< AlignSiHit >::const_iterator hitlist_cend() const
Definition AlignTrk.h:167
void set_noverlapSCT(const int)
Definition AlignTrk.h:136
void set_irun(const int)
Definition AlignTrk.h:139
int ivtx() const
Definition AlignTrk.h:125
int nscat() const
Definition AlignTrk.h:115
int nholes() const
Definition AlignTrk.h:119
float trpvtx(int) const
Definition AlignTrk.h:126
void set_nholes(const int)
Definition AlignTrk.h:142
int nshared() const
Definition AlignTrk.h:120
std::vector< AlignTRTHit > m_trthits
Definition AlignTrk.h:106
void set_truetrkpar(const float, const int)
Definition AlignTrk.h:147
float m_trkpar[5]
Definition AlignTrk.h:94
float m_trtpt
Definition AlignTrk.h:103
float m_trkcov[15]
Definition AlignTrk.h:95
int m_ievent
Definition AlignTrk.h:88
void print() const
Definition AlignTrk.cxx:33
void set_beamtilt(const float, const int)
Definition AlignTrk.h:155
float truetrkpar(int) const
Definition AlignTrk.h:124
std::vector< AlignTRTHit >::const_iterator trthitlist_cbegin() const
Definition AlignTrk.h:174
float m_beamsigma[3]
Definition AlignTrk.h:101
void set_ikine(const int)
Definition AlignTrk.h:146
void add_trthit(AlignTRTHit &)
Definition AlignTrk.h:192
int m_itrack
Definition AlignTrk.h:89
std::vector< AlignSiHit >::iterator hitlist_begin()
Definition AlignTrk.h:161
int noverlapPIX() const
Definition AlignTrk.h:112
float m_beampos[3]
Definition AlignTrk.h:100
void set_beamsigma(const float, const int)
Definition AlignTrk.h:153
std::vector< AlignSiHit > m_overlaphits
Definition AlignTrk.h:107
float beamsigma(int) const
Definition AlignTrk.h:128
int m_nshared
Definition AlignTrk.h:91
int m_noverlapSCT
Definition AlignTrk.h:93
std::vector< AlignTRTHit >::iterator trthitlist_begin()
Definition AlignTrk.h:170
void set_itrack(const int)
Definition AlignTrk.h:141
void set_trpvtx(const float, const int)
Definition AlignTrk.h:150
float trkcov(int) const
Definition AlignTrk.h:122
int ntrthits() const
Definition AlignTrk.h:132
int m_irun
Definition AlignTrk.h:87
float m_trtpterr
Definition AlignTrk.h:104
void set_beampos(const float, const int)
Definition AlignTrk.h:151
float trtpt() const
Definition AlignTrk.h:130
int m_ivtx
Definition AlignTrk.h:98
int nhits() const
Definition AlignTrk.h:110
int m_nholes
Definition AlignTrk.h:90
void set_ivtx(const int)
Definition AlignTrk.h:149
void set_trtcons(const float, const float)
Definition AlignTrk.h:157
void set_nshared(const int)
Definition AlignTrk.h:143
void set_trkcov(const float, const int)
Definition AlignTrk.h:145
float m_beamtilt[2]
Definition AlignTrk.h:102
int m_nscat
Definition AlignTrk.h:86
std::vector< AlignTRTHit >::iterator trthitlist_end()
Definition AlignTrk.h:172
int ievent() const
Definition AlignTrk.h:117
void set_trkpar(const float, const int)
Definition AlignTrk.h:144
std::vector< AlignSiHit > m_hits
Definition AlignTrk.h:105
float trtpterr() const
Definition AlignTrk.h:131
float m_trpvtx[3]
Definition AlignTrk.h:99
float beamtilt(int) const
Definition AlignTrk.h:129
float trkpar(int) const
Definition AlignTrk.h:121
void set_ievent(const int)
Definition AlignTrk.h:140
std::vector< AlignSiHit >::const_iterator hitlist_cbegin() const
Definition AlignTrk.h:165
void add_hit(AlignSiHit &)
Definition AlignTrk.h:191
void set_nscat(const int)
Definition AlignTrk.h:138
std::vector< AlignTRTHit >::const_iterator trthitlist_cend() const
Definition AlignTrk.h:176
int noverlapSCT() const
Definition AlignTrk.h:113