#include "L1Algo.h" void L1Algo::Init( 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++]; std::cout<<"L1Algo Input Magnetic field:"<( geo[ind++] ); NMvdStations = static_cast( geo[ind++] ); 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; } } std::cout<<"L1Algo initialized"<