#include "L1Algo.h" void L1Algo::Init( const fscal geo[] ) { int ind=0; { L1FieldValue B[3]; fvec z[3]; for( int i=0; i<3; i++){ z[i] = geo[ind++]; B[i].x = geo[ind++]; B[i].y = geo[ind++]; B[i].z = geo[ind++]; #ifndef TBB2 std::cout<<"L1Algo Input Magnetic field:"<(geo[ind++]); NMvdStations = static_cast(geo[ind++]); // cout << "N MVD & STS stations: " << NMvdStations << " " << NStations-NMvdStations << endl; #ifndef TBB2 std::cout<<"L1Algo Input "<( geo[ind++] ); for( int iC=0; iC( geo[ind++] ); fMomentumCutOff = geo[ind++]; fGhostSuppression = static_cast( geo[ind++] ); { fvec By0 = vStations[NStations-1].fieldSlice.cy[0]; fvec z0 = vStations[NStations-1].z; fvec sy = 0., Sy = 0.; for( int i=NStations-1; i>=0; i-- ){ L1Station &st = vStations[i]; fvec dz = st.z-z0; fvec By = vStations[i].fieldSlice.cy[0]; Sy += dz*sy + dz*dz*By/2.; sy += dz*By; st.Sy = Sy; z0 = st.z; } } #ifndef TBB2 std::cout<<"L1Algo initialized"< & StsHits_, const vector< L1Strip > & StsStrips_, const vector< L1Strip > & StsStripsB_, const vector< fscal > & StsZPos_, const vector< unsigned char > & SFlag_, const vector< unsigned char > & SFlagB_, const THitI* StsHitsStartIndex_, const THitI* StsHitsStopIndex_ ) { vStsHits.resize(StsHits_.size()); vStsStrips.resize(StsStrips_.size()); vStsStripsB.resize(StsStripsB_.size()); vStsZPos.resize(StsZPos_.size()); vSFlag.resize(SFlag_.size()); vSFlagB.resize(SFlagB_.size()); for(unsigned int i=0; i