#include "htofmonitor.h" #include "htofeventdisplay.h" #include "hades.h" #include "htofhit.h" #include "htofraw.h" #include "hcategory.h" #include "hdebug.h" #include "tofdef.h" #include "hevent.h" #include "hspectrometer.h" #include "hdetector.h" #include "TH2.h" //*-- Author : D.Vasiliev 05.07.99 //*-- Modified : 05/07/99 by D.Vasiliev //_HADES_CLASS_DESCRIPTION //////////////////////// //HTofMonitor class // // This class is responsible of histogram filling for TOF detector //////////////////////// HTofMonitor::HTofMonitor(void) { fLoc.set(3,0,0,0); } HTofMonitor::HTofMonitor(const Text_t *name,const Text_t *title) : HReconstructor (name,title) { fLoc.set(3,0,0,0); } Bool_t HTofMonitor::init(void) { fRawCat=gHades->getCurrentEvent()->getCategory(catTofRaw); if (!fRawCat) { fRawCat=gHades->getSetup()->getDetector("Tof")->buildCategory(catTofRaw); if (!fRawCat) return kFALSE; else gHades->getCurrentEvent()->addCategory(catTofRaw,fRawCat,"Tof"); } fHitCat=gHades->getCurrentEvent()->getCategory(catTofHit); if (!fHitCat) { fHitCat=gHades->getSetup()->getDetector("Tof")->buildCategory(catTofHit); if (!fHitCat) return kFALSE; else gHades->getCurrentEvent()->addCategory(catTofHit,fHitCat,"Tof"); } return kTRUE; } Int_t HTofMonitor::execute(void) { #if DEBUG_LEVEL>2 gDebuger->enterFunc("HTofMonitor::execute"); #endif if(!gTofDisplay) return 1; HTofRaw *raw=NULL; HTofHit *hit=NULL; Int_t i; Int_t j; Int_t mult3L, mult6L, multAllL; Int_t mult3R, mult6R, multAllR; Int_t mult3Tot, mult6Tot, multAllTot; HTofHisto *fTofHisto; mult3L = mult3R = mult3Tot = 0; mult6L = mult6R = mult6Tot = 0; multAllL = multAllR = multAllTot = 0; for(i=0; i<384; i++) { fTofHisto = (HTofHisto*) gTofDisplay->getHistoCont()->At(i); if(fTofHisto) { j = i%64; fLoc[0] = i/64; //sector fLoc[1] = j/8; //module fLoc[2] = j%8; //rod raw = (HTofRaw*) fRawCat->getObject(fLoc); hit = (HTofHit*) fHitCat->getObject(fLoc); if(raw) { // cout << "sector = "<