29 fR(h.R()), fErr2R(h.Err2R()), fErr2A(h.Err2A()), fBeta(h.Beta()), fIsLeft(h.IsLeft()),
43 float X0()
const {
return fX0; }
44 float X1()
const {
return fX1; }
45 float X2()
const {
return fX2; }
57 float XWire0()
const {
return fX0; }
58 float XWire1()
const {
return fX1; }
59 float XWire2()
const {
return fX2; }
61 float R()
const {
return fR; }
62 float RSigned()
const {
return fIsLeft ? -fR : fR; }
63 float Err2R()
const {
return fErr2R; }
64 float Err2A()
const {
return fErr2A; }
65 float Beta()
const {
return fBeta; }
66 bool IsLeft()
const {
return fIsLeft; }
68 void SetR(
float v) { fR =
v; }
85 if (a.
fIStation >= PndFTSCAParameters::NMVDStations)
88 return a.
X2() / abs(a.
X0()) < b.
X2() / abs(b.
X0());
90 return a.
X2() / abs(a.
X0()) < b.
X2() / abs(b.
X0());
119 return (fIsLeft) ?
fX1 + xCorr :
fX1 - xCorr;
123 template <
typename T>
142 assert((
unsigned char)i < fElement.size());
147 assert((
unsigned char)i < fElement.size());
152 assert((
unsigned char)i < fElement.size());
157 assert((
unsigned char)i < fElement.size());
162 assert((
unsigned char)i < fElement.size());
169 fElement.resize(nSta);
170 for (
int i = 0;
i < nSta; ++
i) {
171 fElement[
i].IStation() =
i;
172 fElement[
i].reserve(nHitsPerStation);
184 fElement[iSta].push_back(hit);
189 for (
unsigned int i = 0;
i < fElement.size(); ++
i) {
191 std::sort(hits.begin(), hits.end());
197 for (
unsigned int i = 0;
i < fElement.size(); ++
i) {
202 for (
unsigned int iH = 0; iH < hits.size(); ++iH) {
205 tmp.push_back(hits[iH]);
const char & IStation() const
FTSCAElementsOnStation< T > & operator[](char i)
const T & operator[](TES i) const
friend bool operator<(const FTSCAHit &a, const FTSCAHit &b)
const FTSCAElementsOnStation< T > & operator[](char i) const
const char & IStation() const
FTSCAHit(const PndFTSCAGBHit &h, int id)
vector< FTSCAElementsOnStation< T > > fElement
FTSCAStrip * BStripP() const
const FTSCAElementsOnStation< T > & OnStation(char i) const
FTSCAStrip * FStripP() const
FTSCAHits(int nSta, int nHitsPerStation=1)
void GetLocalX0X1X2(float &x0, float &x1, float &x2) const
FTSCAElementsOnStation< T > & OnStation(char i)
friend F32vec4 rsqrt(const F32vec4 &a)
const FTSCAElementsOnStation< T > & OnStationConst(char i) const