Merging STORAGE-dev to master
[u/mrichter/AliRoot.git] / MONITOR / alieventserver / AliEventServerReconstruction.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 <TObjString.h>
13 #include <TQObject.h>
14 #include <RQ_OBJECT.h>
15 #include <TThread.h>
16
17 class TEnv;
18 class AliCDBManager;
19 class AliReconstruction;
20 class AliRecoServerThread;
21
22 class AliEventServerReconstruction : public TQObject
23 {
24 public:
25         AliEventServerReconstruction();
26         virtual ~AliEventServerReconstruction();
27
28         Bool_t StartReconstruction(Int_t run, const char* input="mem://@*:");
29         void  StopReconstruction();  
30         
31         // Closes the server. The server will no longer listen/serve
32         void Close();
33   
34         Bool_t IsListenning() const{return fIsListenning;}
35         Int_t GetRunId() const {return fCurrentRunId;}  
36 private:
37     static void* Dispatch(void *arg){static_cast<AliEventServerReconstruction*>(arg)->ReconstructionHandle();}
38         void ReconstructionHandle();
39
40         Int_t RetrieveGRP(UInt_t run, TString &gdc);
41         void SetupReco(const char* input);
42
43         // thread shared
44         AliReconstruction *fAliReco;
45         AliCDBManager *fCDBmanager;
46         Int_t fCurrentRunId;
47         Bool_t fIsListenning;
48         TEnv *fSettings;
49         TString fHost;
50         TThread *fRecoThread;
51
52         AliEventServerReconstruction(const AliEventServerReconstruction&);
53         AliEventServerReconstruction& operator=(const AliEventServerReconstruction&);
54 };
55 #endif