28 fR(Vc::
Zero), fErr2R(Vc::
Zero), fErr2A(Vc::
Zero), fBeta(Vc::
Zero), fIsLeft(true),
47 uint_v
Id()
const {
return fId; };
49 float_v
X0()
const {
return fX0; }
50 float_v
X1()
const {
return fX1; }
51 float_v
X2()
const {
return fX2; }
61 float_v XWire0()
const {
return fX0; }
62 float_v XWire1()
const {
return fX1 ; }
63 float_v XWire2()
const {
return fX2; }
65 float_v
R()
const {
return fR; }
66 float_v RSigned()
const { float_v
r = fR;
r(fIsLeft) = -
r;
return r; }
67 float_v Err2R()
const {
return fErr2R; }
68 float_v Err2A()
const {
return fErr2A; }
69 float_v Beta()
const {
return fBeta; }
70 float_m IsLeft()
const {
return fIsLeft; }
84 foreach_bit(
unsigned short iV,
IsValid()) {
137 for(
int i = 0;
i < nSta; ++
i )
163 int_v::Memory mIStation;
164 mIStation = int_v( -1 );
166 float_v::Memory mX1, mX2, mX0;
167 float_v::Memory mErr2X1, mErrX12, mErr2X2;
170 float_v::Memory mR, mErr2R, mErr2A, mBeta, mIsLeft;
172 float_v::Memory mAlpha;
174 foreach_bit(
unsigned short iV, valid) {
177 mIStation[iV] = h.
IRow();
185 mErr2R[iV] = h.Err2R();
186 mErr2A[iV] = h.Err2A();
187 mBeta[iV] = h.Beta();
188 mIsLeft[iV] = h.IsLeft() ? 1.f : 0.f;
190 mAlpha[iV] = h.
Angle();
196 fX1 = float_v(mX1);
fX2 = float_v(mX2);
fX0 = float_v(mX0);
199 fR = float_v(mR); fErr2R = float_v(mErr2R); fErr2A = float_v(mErr2A); fBeta = float_v(mBeta); fIsLeft = ( float_v(mIsLeft) == 1.f );
207 float_v::Memory mIsLeft;
208 foreach_bit(
unsigned short iV, valid) {
222 fErr2R[iV] = h.Err2R();
223 fErr2A[iV] = h.Err2A();
224 fBeta[iV] = h.Beta();
225 mIsLeft[iV] = h.IsLeft() ? 1.f : 0.f;
232 fIsLeft = ( float_v(mIsLeft) == 1.f );
241 float_v::Memory mIsLeft;
242 foreach_bit(
unsigned short iV, valid) {
256 fErr2R[iV] = h.Err2R();
257 fErr2A[iV] = h.Err2A();
258 fBeta[iV] = h.Beta();
259 mIsLeft[iV] = h.IsLeft() ? 1.f : 0.f;
266 fIsLeft = ( float_v(mIsLeft) == 1.f );
323 fIsLeft = static_cast <float_m> (
true);
333 for(
unsigned int iH = 0; iH < hs.size(); iH += float_v::Size ) {
334 float_m valid =
static_cast<float_m
>(uint_v::IndexesFromZero() < uint_v(hs.size() - iH) );
FTSCAStrip * fFStripP[float_v::Size]
FTSCAHitsV(const FTSCAHits &hits)
const FTSCAElementsOnStation< T > & OnStation(char i) const
FTSCAElementsOnStation< T > & operator[](char i)
FTSCAElementsOnStation< T > & OnStation(char i)
FTSCAStrip * FStripP() const
FTSCAStrip * fBStripP[float_v::Size]
FTSCAElementsOnStation< T > & OnStation(char i)
const T & operator[](TES i) const
void GetLocalX0X1X2(float &x0, float &x1, float &x2) const
FTSCAStrip * BStripP() const
const char & IStation() const
vector< FTSCAElementsOnStation< T > > fElement
FTSCAStrip * FStripP() const
float_v GetStripsValue(FTSCAStrip *const strip[float_v::Size]) const
FTSCAStrip * BStripP() const
void GetGlobalCoor(int iV, float &x, float &y, float &z) const
static void CALocalToGlobal(T x0, T x1, T angle, T &x, T &y)
const FTSCAElementsOnStation< T > & operator[](char i) const