]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MONITOR/AliRecoServerThread.h
STORAGE module added, new macro for Event Display, minor changes in MONITOR
[u/mrichter/AliRoot.git] / MONITOR / AliRecoServerThread.h
1 // Author: Mihai Niculescu 2013
2
3 /**************************************************************************
4  * Copyright(c) 1998-2013, ALICE Experiment at CERN, all rights reserved. *
5  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
6  * full copyright notice.                                                 *
7  **************************************************************************/
8  
9 #ifndef __AliRecoServerThread_H__
10 #define __AliRecoServerThread_H__
11
12 #include <TQObject.h>
13 #include <RQ_OBJECT.h>
14 #include <TMutex.h>
15 #include <TCondition.h>
16
17 #include "AliThreadedSocket.h"
18
19 class TCondition;
20 class TThread;
21
22 class AliReconstruction;
23 class AliESDEvent;
24
25 class AliRecoServerThread : public AliThreadedSocket
26 {
27 public:
28   AliRecoServerThread(zmq::context_t *context, AliReconstruction* reco);
29   virtual ~AliRecoServerThread();
30
31
32         Bool_t Start(const char* endpoint);
33
34         const char* GetHost() const { return fHost.Data(); }    
35         AliReconstruction*      GetReconstruction() { return fReco; }
36         TCondition*                                     Condition() { return fCond; }
37         
38 private:
39         void RunThrdWrite();
40         
41         AliReconstruction* fReco;
42
43         // local        
44   TCondition*                                           fCond; // condition whether to stop reco/clean exit thread
45   TString fHost;
46
47 private:
48   AliRecoServerThread(const AliRecoServerThread&);            // Not implemented
49   AliRecoServerThread& operator=(const AliRecoServerThread&); // Not implemented
50   
51 public:
52   
53   ClassDef(AliRecoServerThread, 0);  
54 };
55 #endif /* __AliReconstructionThread_H__ */
56