// ------------------------------------------------------------------------- // ----- MpdBoxSetDraw source file ----- // ----- Created 03/01/08 by M. Al-Turany ----- // ------------------------------------------------------------------------- #include "MpdBoxSetDraw.h" #include "MpdBoxSet.h" #include "FairRunAna.h" #include "TEveManager.h" // for TEveManager, gEve #include using namespace std; // ----- Default constructor ------------------------------------------- MpdBoxSetDraw::MpdBoxSetDraw() : FairTask("MpdBoxSetDraw", 0), fVerbose(0), fList(NULL), fEventManager(NULL), fManager(NULL), fq(NULL), fX(0.3), fY(0.3), fZ(0.3), fTimeWindowPlus(0.), fTimeWindowMinus(0.), fStartTime(0.), fUseEventTime(kTRUE), isRedraw(kFALSE), fStartFunctor(), fStopFunctor() { } // ----- Standard constructor ------------------------------------------ MpdBoxSetDraw::MpdBoxSetDraw(const char* name, Int_t iVerbose) : FairTask(name, iVerbose), fVerbose(iVerbose), fList(NULL), fEventManager(NULL), fManager(NULL), fq(NULL), fX(0.3), fY(0.3), fZ(0.3), fTimeWindowPlus(0.), fTimeWindowMinus(0.), fStartTime(0.), fUseEventTime(kTRUE), isRedraw(kFALSE), fStartFunctor(), fStopFunctor() { } // ----- Destructor ---------------------------------------------------- MpdBoxSetDraw::~MpdBoxSetDraw() { } InitStatus MpdBoxSetDraw::Init() { if (fVerbose > 1) cout<<"MpdBoxSetDraw::Init()"<GetObject(GetName()); if (fList == 0) { cout<<"MpdBoxSetDraw::Init() branch "< 2) cout<<"MpdBoxSetDraw::Init() get track list "< 2) cout<<"MpdBoxSetDraw::Init() get instance of MpdEventManager"<IsTimeStamp()) { fList->Clear(); Double_t eventTime = fManager->GetEventTime(); if (fUseEventTime) fStartTime = eventTime - fTimeWindowMinus; cout<<"EventTime: "<GetData(GetName(), fStartFunctor, fStartTime, fStopFunctor, eventTime + fTimeWindowPlus); //FairRootManager::Instance()->GetEventTime() + } if (fVerbose > 1) cout<GetEntries()<GetEntriesFast(); i++) { TObject* p = fList->At(i); AddBoxes(fq, p, i); } gEve->AddElement(fq, fEventManager); if (isRedraw) gEve->Redraw3D(); } void MpdBoxSetDraw::AddBoxes(MpdBoxSet* set, TObject* obj, Int_t i) { TVector3 point = GetVector(obj); set->AddBox(point.X(), point.Y(), point.Z()); set->DigitValue(GetValue(obj, i)); if (fVerbose > 2) cout<<"MpdBoxSetDraw::Init() Add point "<Reset(MpdBoxSet::kBT_AABoxFixedDim, kFALSE, 64); aBoxSet->SetDefWidth(fX); aBoxSet->SetDefHeight(fY); aBoxSet->SetDefDepth(fZ); fq = aBoxSet; return aBoxSet; } void MpdBoxSetDraw::SetParContainers() { } /** Action after each event**/ void MpdBoxSetDraw::Finish() { } void MpdBoxSetDraw::Reset() { if (fq != 0) { fq->Reset(); gEve->RemoveElement(fq, fEventManager); } } ClassImp(MpdBoxSetDraw)