requestMessage->messageType = REQUEST_LIST_EVENTS;
requestMessage->list = list;
+ cout<<"Sending request for marked events list"<<endl;
eventManager->Send(requestMessage,SERVER_COMMUNICATION_REQ);
+ cout<<"Waiting for response"<<endl;
vector<serverListStruct> receivedList = eventManager->GetServerListVector(SERVER_COMMUNICATION_REQ,3000);
-
cout<<"EVENT DISPLAY -- received list of marked events"<<endl;
for(int i=0;i<receivedList.size();i++)
}
int iter=0;
+
+ cout<<"Starting subscriber's loop"<<endl;
while(!fFinished)
{
cout<<"not finished"<<endl;
alieve_init_import_macros();
gSystem->cd(Form("%s/../src/",gSystem->Getenv("ALICE_ROOT")));
gROOT->ProcessLine(".L saveViews.C++");
+ gROOT->ProcessLine(".L geom_gentle_muon.C++");
+ gROOT->ProcessLine(".L geom_gentle_trd.C++");
TEveUtil::LoadMacro("saveViews.C");
gSystem->cd(hack);
+ cout<<"Standard macros added"<<endl;
new AliEveEventManager("online", -1);
gEve->AddEvent(AliEveEventManager::GetMaster());
TEveBrowser *browser = gEve->GetBrowser();
browser->ShowCloseTab(kFALSE);
+
+ cout<<"Creating multiview"<<endl;
AliEveMultiView *multiView = new AliEveMultiView(kTRUE);
TEveUtil::LoadMacro("geom_gentle.C");
multiView->InitGeomGentle(geom_gentle(),
geom_gentle_rhoz(),
geom_gentle_rhoz());
- gROOT->ProcessLine(".L geom_gentle_trd.C++");
TEveUtil::LoadMacro("geom_gentle_trd.C");
multiView->InitGeomGentleTrd(geom_gentle_trd());
-
- gROOT->ProcessLine(".L geom_gentle_muon.C++");
+
TEveUtil::LoadMacro("geom_gentle_muon.C");
multiView->InitGeomGentleMuon(geom_gentle_muon(), kFALSE, kFALSE, kTRUE);
-
-
+
//============================================================================
// Standard macros to execute -- not all are enabled by default.
//============================================================================
//==============================================================================
// A refresh to show proper window.
- gEve->GetViewers()->SwitchColorSet();
+ //gEve->GetViewers()->SwitchColorSet();
+ browser->MoveResize(0, 0, gClient->GetDisplayWidth(),gClient->GetDisplayHeight() - 32);
gEve->Redraw3D(kTRUE);
gSystem->ProcessEvents();
AliEveEventManager::GetMaster()->GotoEvent(0);
gEve->EditElement(g_trkcnt);
-
gEve->Redraw3D(kTRUE);
+
+ // set autoload by default
+ AliEveEventManager::GetMaster()->SetAutoLoad(true);
}
/******************************************************************************/
#include <TThread.h>
#include <iostream>
+#include <string.h>
+#include <sstream>
+#include <cstdlib>
using namespace std;
return 0;
}
+bool isStorageRunning()
+{
+ // check if there is events server already running
+ const char *pid = gSystem->GetFromPipe("pidof alistorage").Data();
+ int pidSize = gSystem->GetFromPipe("pidof alistorage").Sizeof();
+ std::string pidOfAll(pid,pidSize);
+ std::stringstream pidStream(pidOfAll);
+ int word_count=0;
+ std::string word;
+ while( pidStream >> word ) ++word_count;
+ if(word_count != 1){return true;}
+ return false;
+}
+
int main()
{
+ if(isStorageRunning())
+ {
+ std::cout<<"There is other Storage Manager running on this machine.\n Cannot start multiple managers on the same machine. Quitting..."<<std::endl;
+ return 0;
+ }
+
+
TThread *clientThread = new TThread("clientThread", ClientThreadHandle,NULL);
TThread *serverThread = new TThread("serverThread", ServerThreadHandle,NULL);