bugfix
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHLTEventManagerHomer.cxx
CommitLineData
30e7579c 1// Author: 2010 Svein Lindal <slindal@fys.uio.no> *
2// for The ALICE HLT Project. *
3
4#include "AliHLTEveHLT.h"
5#include "AliHLTEvePhos.h"
6#include "AliHLTEveEmcal.h"
7
8
9#include "AliESDEvent.h"
10#include "AliEveHLTEventManager.h"
11#include "AliEveEventBufferOffline.h"
12#include "AliEveHLTEventManagerHomer.h"
13#include "TList.h"
14#include "AliEveHOMERManager.h"
15#include "TEveManager.h"
16
17ClassImp(AliEveHLTEventManagerHomer)
18
19AliEveHLTEventManagerHomer::AliEveHLTEventManagerHomer() :
20 AliEveHLTEventManager(),
21 fEventBuffer(NULL)
22{
23 // see header file for class documentation
24 // or
25 // refer to README to build package
26 // or
27 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
28 fEventBuffer = new AliEveEventBufferHomer();
29 //AliEveHOMERManager * hm = fEventBuffer->GetHomerManager();
30 //if(hm) GetEveManager()->AddToListTree(hm, kTRUE);
31
32
33}
34
35
36AliEveHLTEventManagerHomer::~AliEveHLTEventManagerHomer() {
37
38 //DestroyElements();
39 //DestroyDetectorElements();
40 if(fEventBuffer)
41 delete fEventBuffer;
42 fEventBuffer = NULL;
43
44}
45
46
47///________________________________________________________________________________
48void AliEveHLTEventManagerHomer::NextEvent() {
49 //See header file for documentation
d63d227e 50 if(fEventBuffer->GetBusy() ) {
51 cout << "event buffer already busy"<<endl;
52 return;
53 }else {
54 fEventBuffer->SetBusy(kTRUE);
55 }
d63d227e 56
cc87822c 57 TList * aSyncEvent = fEventBuffer->GetASyncEvent();
58 TList * event = static_cast<TList*>(fEventBuffer->NextEvent());
59 if(event) {
60 cout << "Got the event, reset the display " <<endl;
61 ResetDisplay();
62 cout << "Process event"<<endl;
63 ProcessEvent(event);
64 if(aSyncEvent) {
65 cout << "Process asynchroneous event" << endl;
66 ProcessEvent(aSyncEvent);
67 } else {
68 cout << "Could not get async event"<<endl;
69 }
70
71 cout << "Upate the display"<<endl;
72 UpdateDisplay();
73
30e7579c 74 } else {
d5180d24 75 cout << "could't get the sync event"<<endl;
30e7579c 76 }
d5180d24 77
cc87822c 78 // cout << "doint async block"<<endl;
79 // TList * async = static_cast<TList*>(fEventBuffer->GetAList());
80 // if(async) {
81 // ProcessEvent(async);
82 // } else {
83 // cout << "No async bloc"<<endl;
84 // }
85
86 fEventBuffer->SetBusy(kFALSE);
30e7579c 87}
88
89
90///____________________________________________________________________________________
91void AliEveHLTEventManagerHomer::NavigateFwd() {
92 //See header file for documentation
93 TList * fEvent = dynamic_cast<TList*>(fEventBuffer->Fwd());
94 if(fEvent) {
95 ProcessEvent(fEvent);
96 } else {
97 cout << "couldn't get the fwd event"<<endl;
98 }
99}
100
101
102///______________________________________________________________________________________
103void AliEveHLTEventManagerHomer::NavigateBack() {
104 //See header file for documentation
105 TList * fEvent = dynamic_cast<TList*>(fEventBuffer->Back());
106 if(fEvent) {
107 ProcessEvent(fEvent);
108 } else {
109 cout << "couldn't get the back event"<<endl;
110 }
111}
112