]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MONITOR/AliRecoServer.h
ATO-17, ATO-34 Getters for wire segment. Importnat for signal cross-talk simulation...
[u/mrichter/AliRoot.git] / MONITOR / AliRecoServer.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 __AliRecoServer_H__
10 #define __AliRecoServer_H__
11
12 #include <zmq.hpp>
13 #include <TObjString.h>
14 #include <TQObject.h>
15 #include <RQ_OBJECT.h>
16
17 class TEnv;
18 class AliCDBManager;
19 class AliReconstruction;
20 class AliRecoServerThread;
21
22 class AliRecoServer : public TQObject
23 {
24         RQ_OBJECT("AliRecoServer")
25 public:
26   AliRecoServer();
27   virtual ~AliRecoServer();
28   
29   // Closes the server. The server will no longer listen/serve
30   void Close();
31   
32   Bool_t IsListenning() const;
33   
34   Int_t GetRunId() const {  return fCurrentRunId; }
35   const char* GetError() const;//TODO: not implemented
36   
37   Bool_t StartReconstruction(Int_t run, const char* input="mem://@*:");
38   void  StopReconstruction();
39
40   void ThreadFinished(Int_t status); // *SIGNAL*
41   
42 private:
43   Int_t RetrieveGRP(UInt_t run, TString &gdc);
44   void SetupReco(const char* input);
45
46   AliRecoServer(const AliRecoServer&);            // Not implemented
47   AliRecoServer& operator=(const AliRecoServer&); // Not implemented
48
49 private:
50         // thread shared
51         zmq::context_t* fContext;
52   AliReconstruction* fReco;
53   AliCDBManager* fCDBman;
54
55         // not shared
56   Int_t                                                                          fCurrentRunId;
57   Bool_t fIsListenning;
58   TEnv*                                                          fSettings;
59   AliRecoServerThread* fRecoTh;
60
61 public:
62
63   ClassDef(AliRecoServer, 0);
64 };
65
66 #endif /* __AliRecoServer_H__ */