9 #ifndef FTSCASTATIONARRAY_H
10 #define FTSCASTATIONARRAY_H
22 template<
typename T >
36 return (*
fHitsRef)[ (*this)[
i].IHit(IH)[iV] ];
40 return (*
fHitsRef)[ (*this)[
i].IHit(IH) ];
49 vector<T>::operator=( a );
57 if (a.size() <= 0)
return *
this;
73 for(
int e = bf[
i]; e < bf[
i+1]; e++ ) {
77 const T sample( a[0].N() );
78 r.resize( (n-1)/float_v::Size + 1, sample );
87 const int nV = e/float_v::Size;
88 const int iV = e%float_v::Size;
89 if ( !a[nV].IsValid()[iV] )
continue;
91 const int nVt = n/float_v::Size;
92 const int iVt = n%float_v::Size;
93 r[nVt].CopyOne( iVt, a[nV], iV );
97 for(
int e = bf[
i]; e < bf[
i+1]; e++ ) {
98 const int nV = e/float_v::Size;
99 const int iV = e%float_v::Size;
100 if ( !b[nV].IsValid()[iV] )
continue;
102 const int nVt = n/float_v::Size;
103 const int iVt = n%float_v::Size;
104 r[nVt].CopyOne( iVt, b[nV], iV );
119 template<
typename T >
136 for(
int i = 0;
i < nSta; ++
i )
158 const int iSta = hit.Station();
const T & operator[](TES i) const
FTSCAElementsOnStation< T > & operator[](char i)
const FTSCAElementsOnStation< T > & operator[](char i) const
const FTSCAElementsOnStation< T > & OnStation(char i) const
const char & IStation() const
FTSCAElementsOnStation< T > operator+(const FTSCAElementsOnStation< T > &a)
vector< FTSCAElementsOnStation< T > > fElement
vector< int > & FirstElementIByHit0()
const FTSCAHit & GetHit(int IH, int i) const
FTSCAElementsOnStation< T > & OnStation(char i)
FTSCAStationArray(int nSta, const FTSCAHits *hits)
const FTSCAHits * HitsRef() const
unsigned int Size() const
FTSCAElementsOnStation< T > & operator=(const FTSCAElementsOnStation< T > &a)
vector< int > fFirstElementIByHit0
void Renew(int nSta, const FTSCAHits *hits)
FTSCAElementsOnStation(const FTSCAHits *hits)
const FTSCAHits * HitsRef() const
int FirstElementIByHit0(int iH) const
const FTSCAHit & GetHit(int iV, int IH, int i) const
const FTSCAHits * fHitsRef