Merge branch 'multipleThreads' into newdevel
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHLTEventManagerHomer.cxx
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
17 ClassImp(AliEveHLTEventManagerHomer)
18
19 AliEveHLTEventManagerHomer::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  
36 AliEveHLTEventManagerHomer::~AliEveHLTEventManagerHomer() {
37
38   //DestroyElements();
39   //DestroyDetectorElements();  
40   if(fEventBuffer)
41     delete fEventBuffer;
42   fEventBuffer = NULL;
43
44 }
45
46
47 ///________________________________________________________________________________
48 void AliEveHLTEventManagerHomer::NextEvent() {
49   //See header file for documentation
50   TList * fEvent = static_cast<TList*>(fEventBuffer->NextEvent());
51   if(fEvent) {
52     cout << "Got the event " <<endl;
53     ProcessEvent(fEvent);
54
55   } else {
56     cout << "couldn't get the sync event"<<endl;
57   }
58
59   TList * async = static_cast<TList*>(fEventBuffer->GetAList());
60   if(async) {
61         ProcessEvent(async);
62    }  else {
63          cout << "No async bloc"<<endl;
64  }
65     fEventBuffer->SetBusy(kFALSE);
66 }
67
68
69 ///____________________________________________________________________________________
70 void AliEveHLTEventManagerHomer::NavigateFwd() {
71   //See header file for documentation
72   TList * fEvent = dynamic_cast<TList*>(fEventBuffer->Fwd());
73   if(fEvent) {
74     ProcessEvent(fEvent);
75   } else {
76     cout << "couldn't get the fwd event"<<endl;
77   }
78 }
79
80
81 ///______________________________________________________________________________________
82 void AliEveHLTEventManagerHomer::NavigateBack() {
83   //See header file for documentation
84   TList * fEvent = dynamic_cast<TList*>(fEventBuffer->Back());
85   if(fEvent) {
86     ProcessEvent(fEvent);
87   } else {
88     cout << "couldn't get the back event"<<endl;
89   }
90 }
91