00001 #include "ActiveSiRMuStopAlgo.h" 00002 #include "IdSource.h" 00003 #include "TMuonEvent.h" 00004 00005 TMEAlgorithm::ActiveSiRStop::ActiveSiRStop(const IDs::source& sir2, double muSc_min, double muSc_max, double SiR2_min, double SiR2_max): 00006 fMuScMax(muSc_max),fMuScMin(muSc_min), fSiR2Max(SiR2_max),fSiR2Min(SiR2_min),fSiR2source(sir2){ 00007 } 00008 00009 00010 bool TMEAlgorithm::ActiveSiRStop::operator()(const TMuonEvent* tme, TDetectorPulse::ParentChannel_t channel)const{ 00011 const double muSc_amp=tme->GetCentralMuon()->GetAmplitude(TDetectorPulse::kFast); 00012 bool ret_val=false; 00013 if(muSc_amp>fMuScMin && muSc_amp< fMuScMax){ 00014 const int N_sir2=tme->NumPulses(fSiR2source); 00015 for(int i=0; i< N_sir2; ++i){ 00016 const double sir2_amp=tme->GetPulse(fSiR2source,i)->GetAmplitude(channel); 00017 if(sir2_amp > fSiR2Min && sir2_amp < fSiR2Max){ 00018 ret_val=true; 00019 break; 00020 } 00021 } 00022 } 00023 return ret_val; 00024 }