1 #include "AliDIMListenerThread.h"
7 AliDIMListenerThread::AliDIMListenerThread()
12 DimCurrentInfo SORrunNumber("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS_1",-1);
13 DimCurrentInfo EORrunNumber("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS_1",-1);
15 if(SORrunNumber.getData() && EORrunNumber.getData())
17 cout<<"DIM Listener -- current SOR signal:"<<SORrunNumber.getInt()<<endl;
18 cout<<"DIM Listener -- current EOR signal:"<<EORrunNumber.getInt()<<endl;
20 if(SORrunNumber.getInt() != EORrunNumber.getInt()){StartOfRun(SORrunNumber.getInt());}
22 else{cout<<"DIM Listener -- no data received from dim server"<<endl;}
26 AliDIMListenerThread::~AliDIMListenerThread()
28 for (int i = 0; i < 5; ++i){
29 if(fDimSORListener[i]) delete fDimSORListener[i];
30 if(fDimEORListener[i]) delete fDimEORListener[i];
32 fDimSORListener[i] = 0;
33 fDimEORListener[i] = 0;
37 void AliDIMListenerThread::InitDIMListeners()
39 for (int i = 0; i < 5; ++i)
44 fDimSORListener[i] = new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS");
45 fDimEORListener[i] = new AliDimIntNotifier("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS");
49 fDimSORListener[i] = new AliDimIntNotifier(Form("/LOGBOOK/SUBSCRIBE/DAQ_SOR_PHYSICS_%d", i));
50 fDimEORListener[i] = new AliDimIntNotifier(Form("/LOGBOOK/SUBSCRIBE/DAQ_EOR_PHYSICS_%d", i));
53 fDimSORListener[i]->Connect("DimMessage(int)", "AliDIMListenerThread", this, "StartOfRun(int)");
54 fDimEORListener[i]->Connect("DimMessage(int)", "AliDIMListenerThread", this, "EndOfRun(int)");
56 fDimSORListener[i]=0x0;
57 fDimEORListener[i]=0x0;
63 void AliDIMListenerThread::StartOfRun(int run)
65 cout<<"DIM Listener -- SOR signal received for run:"<<run<<endl;
68 void AliDIMListenerThread::EndOfRun(int run)
70 cout<<"DIM Listener -- EOR signal received for run:"<<run<<endl;