47 float X0()
const {
return fX0; }
48 float X1()
const {
return fX1; }
49 float X2()
const {
return fX2; }
55 float R()
const {
return fR; }
56 float DR()
const {
return fDR; }
57 float U()
const {
return fU; }
75 return a.
X2() / abs(a.
X0()) < b.
X2() / abs(b.
X0());
99 const float_v xCorr =
fR -
fR *
rsqrt(1 - sinPhi * sinPhi);
104 template <
typename T>
123 assert((
unsigned char)i < fElement.size());
128 assert((
unsigned char)i < fElement.size());
133 assert((
unsigned char)i < fElement.size());
138 assert((
unsigned char)i < fElement.size());
143 assert((
unsigned char)i < fElement.size());
150 fElement.resize(nSta);
151 for (
int i = 0;
i < nSta; ++
i) {
152 fElement[
i].IStation() =
i;
153 fElement[
i].reserve(nHitsPerStation);
165 fElement[iSta].push_back(hit);
170 for (
unsigned int i = 0;
i < fElement.size(); ++
i) {
172 std::sort(hits.begin(), hits.end());
178 for (
unsigned int i = 0;
i < fElement.size(); ++
i) {
183 for (
unsigned int iH = 0; iH < hits.size(); ++iH) {
186 tmp.push_back(hits[iH]);
const char & IStation() const
PndCAElementsOnStation< T > & OnStation(char i)
const char & IStation() const
friend F32vec4 rsqrt(const F32vec4 &a)
const T & operator[](PndCATES i) const
float_v X1Corrected(float_v sinPhi) const
PndCAElementsOnStation< T > & operator[](char i)
const PndCAElementsOnStation< T > & OnStation(char i) const
PndCAHits(int nSta, int nHitsPerStation=1)
friend bool operator<(const PndCAHit &a, const PndCAHit &b)
const PndCAElementsOnStation< T > & OnStationConst(char i) const
PndCAHit(PndCAGBHit &h, int id)
const PndCAElementsOnStation< T > & operator[](char i) const
void GetLocalX0X1X2(float &x0, float &x1, float &x2) const
T & operator[](PndCATES i)
vector< PndCAElementsOnStation< T > > fElement