fTimer = new TTimer();
fTimer->Connect("Timeout()", "AliEveEventBuffer", this, "CreateBufferThread()");
- fEventId = new Int_t[fBufferSize];
-
+ fEventId = new ULong64_t[fBufferSize];
+ for(Int_t id = 0; id < fBufferSize; id++ ) {
+ fEventId[id] = -2;
+ }
+
}
}
}
+
+
///______________________________________________________________________________
TObject * AliEveEventBuffer::Fwd() {
PrintIndeces();
void AliEveEventBuffer::FetchEvent() {
cout << "FetchEvent " << endl;
TObject * event = GetEventFromSource();
- if(event) AddToBuffer(event);
+ ULong64_t eventId = GetEventIdFromSource();
+ if(event) {
+ AddToBuffer(event);
+ fEventId[fBIndex[kTop]] = eventId;
+ }
+
PrintIndeces();
cout << "FetchedEvent " << endl;
fEventBuffer->RemoveAt(fBIndex[kTop]);
//if (object) delete object;
fEventBuffer->AddAt(event, fBIndex[kTop]);
-}
-
+}
///_____________________________________________________________________________________
Int_t AliEveEventBuffer::CalculateNext(Int_t current) {
;
}
- Int_t GetEventId() const { return fEventId[fBIndex[kCurrent]];}
-
void CreateBufferThread();
+ ULong64_t GetEventId() const { return fEventId[fBIndex[kCurrent]]; }
protected:
//Add event to buffer
virtual void AddToBuffer(TObject * event);
-
+ // virtual void AddToBuffer(TObject * event, ULong64_t eventId);
virtual TObject * GetEventFromSource() = 0;
+ virtual ULong64_t GetEventIdFromSource() { return 0;}
+
void FetchEvent();
Int_t CalculatePrevious(Int_t current);
Int_t CalculateNext(Int_t current);
- void SetEventId(Int_t eventId) { fEventId[fBIndex[kCurrent]] = eventId;}
+ void SetEventId(ULong64_t eventId) { fEventId[fBIndex[kCurrent]] = eventId;}
void SetBufferMonStarted(Bool_t started) {fBufferMonStarted = started;}
Bool_t GetBufferMonStarted () const { return fBufferMonStarted;}
TTimer * fTimer;
//Current event id
- Int_t * fEventId;
+ ULong64_t * fEventId;
Bool_t fBufferMonStarted;
+ULong64_t AliEveEventBufferHomer::GetEventIdFromSource() {
+ ///
+ return fHomer->GetEventID();
+}
///______________________________________________________________________
TObject * AliEveEventBufferHomer::GetEventFromSource() {
if(fHomer) {
cout << "calling nexthomerevent"<<endl;
TList * blockList = fHomer->NextHOMEREvent();
+
if(blockList) return dynamic_cast<TObject*>(blockList);
else return NULL;
}
cout << "AliEveEventBufferHomer::GetEventFromSource() : fHomer is null pointer!!"<<endl;
return NULL;
}
+
///___________________________________________________________________________
void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
cout << "Add to buffer"<<endl;
}
}
+// ///___________________________________________________________________________
+// void AliEveEventBufferHomer::AddToBuffer(TObject * event, ULong64_t eventId ) {
+// cout << "Add to buffer"<<endl;
+// if(!event) return;
+// fBIndex[kTop] = CalculateNext(fBIndex[kTop]);
+// TList * list = dynamic_cast<TList*>(fEventBuffer->At(fBIndex[kTop]));
+// if(list) {
+// list->Clear();
+// list->AddAll(dynamic_cast<TList*>(event));
+// fEventId[fBIndex[kTop]] = eventId;
+// }
+// }
+
///______________________________________________________________________
void AliEveEventBufferHomer::Initialize() {
///Inherited from AliEveEventBuffer
TObject * GetEventFromSource();
+
+ ULong64_t GetEventIdFromSource();
+
///Inherited form AliEveEventBuffer
void AddToBuffer(TObject * event);
-
+ //void AddToBuffer(TObject * event, ULong64_t eventId);
AliEveHOMERManager * fHomer;
Int_t fEventNo;
TList * fAsyncList;
gEve->DisableRedraw();
+ // -- Set EventID in Window Title
+ TString winTitle("Eve Main Window");
+ winTitle += Form("-- Run Number: %d", fRunNumber);
+ winTitle += Form("-- Event ID : 0x%lu ", GetEventBuffer()->GetEventId() );
+ GetEveManager()->GetBrowser()->SetWindowName(winTitle);
+
+
cout << "reset()"<<endl;
return -1;
}
- cout << "reset ()"<<endl;
+ cout << "ProcessEvent()::reset ()"<<endl;
ResetDisplay();
- cout << "done reset()"<<endl;
+ cout << "ProcessEvent() :: done reset()"<<endl;
AliHLTHOMERBlockDesc * block = NULL;
TIter next(blockList);
while ((block = (AliHLTHOMERBlockDesc*)next())) {
if(fMuonElement) fMuonElement->UpdateElements();
- // -- Set EventID in Window Title
- TString winTitle("Eve Main Window");
- winTitle += Form("-- Run Number: %d", fRunNumber);
- //winTitle += Form("-- Event ID : 0x%lu ", GetEventID(fCurrentEventIdx) );
- GetEveManager()->GetBrowser()->SetWindowName(winTitle);
-
//==============================================================================
// -- Import global scene into projection scenes
//==============================================================================
fButtonNavigateBack(0),
fButtonNavigateFwd(0),
fButtonPrintScreens(NULL),
- fBoxTriggerSelector(0),
+//fBoxTriggerSelector(0),
// fBoxEventLoopSpeed(0),
fButtonEventLoopText(0),
fButtonUpdateEvents(NULL),
fEventLoopStarted(kFALSE)
{
+ MakeTitle("AliEveHLTEventManager");
+
fButtonUpdateEvents = new TGTextButton(this, " Fill buffer.. ");
AddFrame(fButtonUpdateEvents); //, new TGLayoutHints(...));
fButtonUpdateEvents->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "PollEvents()");
-
- MakeTitle("AliEveHLTEventManager");
-
// Create widgets
// fXYZZ = new TGSomeWidget(this, ...);
// AddFrame(fXYZZ, new TGLayoutHints(...));
// fXYZZ->Connect("SignalName()", "AliEveHLTEventManagerEditor", this, "DoXYZZ()");
- fButtonConnect = new TGTextButton(this, " Reconnect ");
- AddFrame(fButtonConnect); //, new TGLayoutHints(...));
- fButtonConnect->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "ConnectToHLT()");
-
- fButtonWriteToFile = new TGTextButton(this, " Write to file ");
- AddFrame(fButtonWriteToFile); //, new TGLayoutHints(...));
- fButtonWriteToFile->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "WriteBlockListToFile()");
-
-
fButtonNextEvent = new TGTextButton(this, " NextEvent ");
AddFrame(fButtonNextEvent); //, new TGLayoutHints(...));
fButtonNextEvent->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "NextEvent()");
fButtonPrintScreens = new TGTextButton(this, " Save Viewers ");
AddFrame(fButtonPrintScreens); //, new TGLayoutHints(...));
fButtonPrintScreens->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "PrintScreens()");
+
+ fButtonWriteToFile = new TGTextButton(this, " Write to file ");
+ AddFrame(fButtonWriteToFile); //, new TGLayoutHints(...));
+ fButtonWriteToFile->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "WriteBlockListToFile()");
+
+ fButtonConnect = new TGTextButton(this, " Reconnect ");
+ AddFrame(fButtonConnect); //, new TGLayoutHints(...));
+ fButtonConnect->Connect("Clicked()", "AliEveHLTEventManagerEditor", this, "ConnectToHLT()");
+
+
+
- fBoxTriggerSelector = new TGComboBox(this, "Select Trigger");
- fBoxTriggerSelector->AddEntry("HLT Global Trigger", 0);
- fBoxTriggerSelector->AddEntry("Barrel multiplicity trigger", 1);
- fBoxTriggerSelector->AddEntry("PHOS Geometry trigger", 2);
- fBoxTriggerSelector->AddEntry("No trigger selection", 3);
- fBoxTriggerSelector->Connect("Selected(Int_t)","AliEveHLTEventManagerEditor", this, "SetTriggerString(int)");
- fBoxTriggerSelector->SetWidth(150);
- fBoxTriggerSelector->SetHeight(25);
- AddFrame(fBoxTriggerSelector);
+ // fBoxTriggerSelector = new TGComboBox(this, "Select Trigger");
+ // fBoxTriggerSelector->AddEntry("HLT Global Trigger", 0);
+ // fBoxTriggerSelector->AddEntry("Barrel multiplicity trigger", 1);
+ // fBoxTriggerSelector->AddEntry("PHOS Geometry trigger", 2);
+ // fBoxTriggerSelector->AddEntry("No trigger selection", 3);
+ // fBoxTriggerSelector->Connect("Selected(Int_t)","AliEveHLTEventManagerEditor", this, "SetTriggerString(int)");
+ // fBoxTriggerSelector->SetWidth(150);
+ // fBoxTriggerSelector->SetHeight(25);
+ // AddFrame(fBoxTriggerSelector);
fButtonEventLoopText = new TGTextButton(this, " Loop Events ");
AddFrame(fButtonEventLoopText); //, new TGLayoutHints(...));
TGTextButton *fButtonNavigateBack; // Button to navigate back
TGTextButton *fButtonNavigateFwd; // Button to navigate fwd
TGTextButton *fButtonPrintScreens; // Button to print viewers
- TGComboBox *fBoxTriggerSelector; // Drop down menu to select trigger criteria.
+ //TGComboBox *fBoxTriggerSelector; // Drop down menu to select trigger criteria.
TGTextButton *fButtonEventLoopText; //Text button to start / stop event loop.
TGTextButton *fButtonUpdateEvents;
//TGComboBox *fBoxEventLoopSpeed; // Drop down menu to set the speed of the loop.