// Author: 2010 Svein Lindal * // for The ALICE HLT Project. * #include "AliHLTEveHLT.h" #include "AliHLTEvePhos.h" #include "AliHLTEveEmcal.h" #include "AliESDEvent.h" #include "AliEveHLTEventManager.h" #include "AliEveEventBufferOffline.h" #include "AliEveHLTEventManagerHomer.h" #include "TList.h" #include "AliEveHOMERManager.h" #include "TEveManager.h" ClassImp(AliEveHLTEventManagerHomer) AliEveHLTEventManagerHomer::AliEveHLTEventManagerHomer() : AliEveHLTEventManager(), fEventBuffer(NULL) { // see header file for class documentation // or // refer to README to build package // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt fEventBuffer = new AliEveEventBufferHomer(); fEventBuffer->StartBufferMonitor(); //AliEveHOMERManager * hm = fEventBuffer->GetHomerManager(); //if(hm) GetEveManager()->AddToListTree(hm, kTRUE); } AliEveHLTEventManagerHomer::~AliEveHLTEventManagerHomer() { //DestroyElements(); //DestroyDetectorElements(); if(fEventBuffer) delete fEventBuffer; fEventBuffer = NULL; } ///________________________________________________________________________________ void AliEveHLTEventManagerHomer::ProcessList(TList * blockList) { ProcessEvent(blockList); UpdateDisplay(); } ///________________________________________________________________________________ void AliEveHLTEventManagerHomer::NextEvent() { //See header file for documentation if(fEventBuffer->LockMutex() ) { cout << "event buffer already busy"<GetASyncEvent(); TList * event = static_cast(fEventBuffer->NextEvent()); if(event) { cout << "Got the event, reset the display " <(fEventBuffer->GetAList()); // if(async) { // ProcessEvent(async); // } else { // cout << "No async bloc"<UnLockMutex(); } ///____________________________________________________________________________________ void AliEveHLTEventManagerHomer::NavigateFwd() { //See header file for documentation TList * fEvent = dynamic_cast(fEventBuffer->Fwd()); if(fEvent) { ResetDisplay(); ProcessEvent(fEvent); UpdateDisplay(); } else { cout << "couldn't get the fwd event"<(fEventBuffer->Back()); if(fEvent) { ResetDisplay(); ProcessEvent(fEvent); UpdateDisplay(); } else { cout << "couldn't get the back event"<