// : Author J.Markert //_HADES_CLASS_DESCRIPTION /////////////////////////////////////////////////////////////////////////////// // // HOnlineStartCalibrationMon // /////////////////////////////////////////////////////////////////////////////// using namespace std; #include "honlinestartcalibrationmon.h" #include "honlinestarthistfiller.h" #include "honlinestarthistbooker.h" #include "hstartdef.h" #include "hcategory.h" #include "hstartcal.h" #include "hstartraw.h" #include "hstarthit.h" #include "hdebug.h" #include "hades.h" #include "hiterator.h" #include "hruntimedb.h" #include "hspectrometer.h" #include "hdetector.h" #include "hevent.h" #include #include #include #include "TIterator.h" ClassImp(HOnlineStartCalibrationMon) HOnlineStartHistBooker* HOnlineStartCalibrationMon::startHistbooker=0; HOnlineStartCalibrationMon::HOnlineStartCalibrationMon(void) { // Default constructor . initVariables(); } HOnlineStartCalibrationMon::HOnlineStartCalibrationMon(const Text_t* name,const Text_t* title) : HReconstructor(name,title) { // Constructor calls the constructor of class HReconstructor with the name // and the title as arguments. initVariables(); } HOnlineStartCalibrationMon::~HOnlineStartCalibrationMon(void) { // destructor deletes the iterator if (itercal) delete itercal; if (iterraw) delete iterraw; if (iterhit) delete iterhit; itercal=0; iterraw=0; iterhit=0; } void HOnlineStartCalibrationMon::initVariables() { // iterator+categories calCat =0; rawCat =0; hitCat =0; boxCat =0; itercal=0; iterraw=0; iterhit=0; iterbox=0; } void HOnlineStartCalibrationMon::printStatus(){ cout << "************* HOnlineStartCalibrationMon ***************" << endl; cout << "******************************************" << endl; } void HOnlineStartCalibrationMon::setParContainers() { startHistbooker = HOnlineStartHistBooker::getExObject(); if(!startHistbooker) { Error("HOnlineStartCalibrationMon::setParContainers()","ZERO POINTER FOR HSTARTHISTBOOKER RECEIVED!"); exit(1); } } Bool_t HOnlineStartCalibrationMon::init(void) { Bool_t test=kFALSE; setParContainers(); test=getCategories(); printStatus(); fActive=kTRUE; return test; } Bool_t HOnlineStartCalibrationMon::reinit(void) { startHistbooker = HOnlineStartHistBooker::getExObject(); startHistbooker->printStatus(); fActive=kTRUE; return kTRUE; } Bool_t HOnlineStartCalibrationMon::getCategories() { rawCat=(HCategory*)(((HEvent*)(gHades->getCurrentEvent()))->getCategory(catStartRaw)); if (!rawCat) { Warning("HOnlineStartCalibrationMon:init()","CATEGORY HSTARTRAW IS NOT FILLED!"); } calCat=(HCategory*)(((HEvent*)(gHades->getCurrentEvent()))->getCategory(catStartCal)); if (!calCat) { Warning("HOnlineStartCalibrationMon:init()","CATEGORY HSTARTCAL IS NOT FILLED!"); } hitCat=(HCategory*)(((HEvent*)(gHades->getCurrentEvent()))->getCategory(catStartHit)); if (!hitCat) { Warning("HOnlineStartCalibrationMon:init()","CATEGORY HSTARTHIT IS NOT FILLED!"); } boxCat=(HCategory*)(((HEvent*)(gHades->getCurrentEvent()))->getCategory(catTBoxChan)); if (!boxCat) { Warning("HOnlineStartCalibrationMon:init()","CATEGORY HTBOXCHAN IS NOT FILLED!"); } if (rawCat) { iterraw =(HIterator *)((HCategory*)rawCat)->MakeIterator("native"); } if (calCat) { itercal=(HIterator *)((HCategory*)calCat)->MakeIterator("native"); } if (hitCat) { iterhit =(HIterator *)((HCategory*)hitCat)->MakeIterator("native"); } if (boxCat) { iterbox =(HIterator *)((HCategory*)boxCat)->MakeIterator("native"); } return kTRUE; } Int_t HOnlineStartCalibrationMon::execute(){ //startHistbooker->resetActiveList(2,gHades->getEventCounter()); // if feature of incremental update should be used startHistbooker->getStartFiller()->fillLatch(); if(rawCat) { iterraw->Reset(); //########################## Fill RAW HISTS ################################ startHistbooker->getStartFiller()->fillRaw(iterraw); } if(calCat) { itercal->Reset(); //######################### FIll CAL HISTS ################################ startHistbooker->getStartFiller()->fillCal(itercal); //########################################################################## } if(hitCat) { iterhit->Reset(); //########################## Fill HIT HISTS ################################ startHistbooker->getStartFiller()->fillHit(iterhit); } if(boxCat) { iterbox->Reset(); //########################## Fill SCALER HISTS ############################ startHistbooker->getStartFiller()->fillScaler(iterbox); } return 0; } Bool_t HOnlineStartCalibrationMon::finalize() { return kTRUE; }