#ifndef musrCounter_h #define musrCounter_h 1 #include #include #include #include #include #include class hitInfo { public: hitInfo(Int_t kEntry, Int_t evID, Int_t deI, Int_t detectorID, Double_t deEDEP, Long64_t timeBIN2) {eventEntry=kEntry; eventIDnumber=evID; det_i=deI; det_id = detectorID; det_edep=deEDEP; timeBin2=timeBIN2;} ~hitInfo() {} void RewindTimeBin2(Long64_t timeBinsToRewind) {timeBin2-=timeBinsToRewind;} Int_t eventEntry; Int_t eventIDnumber; Int_t det_i; Int_t det_id; Double_t det_edep; Long64_t timeBin2; // extern double GlobalKamil; // typedef std::map debugEventMapType; // extern debugEventMapType debugEventMap; // extern Bool_t bool_debugingRequired; }; class musrCounter { public: musrCounter(int CHANNEL_NR, char CHANNEL_NAME[200], char CHANNEL_TYPE, float E_THRESH, int TIME_SHIFT); ~musrCounter(); int GetCounterNr() {return counterNr;} char GetCounterType() {return counterType;} void SetCoincidenceCounter(musrCounter* c, int icNr) { int cNr = abs(icNr); if (icNr>0) { std::cout<<"SetCoincidenceCounter: Adding counter ="< counterMapType; counterMapType koincidenceCounterMap; counterMapType vetoCounterMap; char TDC_histoName[200]; int TDC_t0, TDC_t1, TDC_t2, TDC_histoNrAdd; char TDC_histoNameAdd[200]; TH1D* histTDC; Long64_t antiCoincidenceTimeWindowMin, coincidenceTimeWindowMin_M, coincidenceTimeWindowMin_P; Long64_t antiCoincidenceTimeWindowMax, coincidenceTimeWindowMax_M, coincidenceTimeWindowMax_P; Long64_t maxCoincidenceTimeWindow; // typedef std::map hitMap_TYPE; // Long64_t = timeBin, Int_t=eventID typedef std::map hitMap_TYPE; // Long64_t = timeBin, hitInfo = eventID and det_i hitMap_TYPE hitMap; // std::list timeOfHitsList; Int_t doubleHitN; Long64_t numberOfMuonCandidates; Long64_t numberOfMuonCandidatesAfterVK; Long64_t numberOfMuonCandidatesAfterVKandDoubleHitRemoval; public: static Bool_t bool_ignoreUnperfectMuons; static Bool_t bool_ignoreUnperfectPositrons; }; #endif