CbmRoot
CbmDeviceStsLocalReco.h
Go to the documentation of this file.
1 
8 #ifndef CBMDEVICEMSTSLOCALRECO_H_
9 #define CBMDEVICEMSTSLOCALRECO_H_
10 
11 #include "FairMQDevice.h"
12 
13 //#include "CbmStsDigitizeParameters.h"
14 
15 //#include "FairGeoParSet.h"
16 
17 #include "TMessage.h"
18 //#include "Rtypes.h"
19 //#include "TObjArray.h"
20 
21 #include <string>
22 #include <vector>
23 
24 //class TList;
25 class CbmStsDigitizeParameters;
26 class CbmFieldPar;
27 
28 class FairGeoParSet;
29 class FairField;
30 
31 class CbmDeviceStsLocalReco : public FairMQDevice {
32 public:
35 
36 protected:
37  virtual void InitTask();
38  bool HandleData(FairMQMessagePtr&, int);
39 
40 private:
41  uint64_t fMaxTimeslices;
42  uint64_t fNumMessages;
43  std::string fRunId;
44  std::string fvmcworkdir;
45 
46  CbmStsDigitizeParameters* fDigiPar;
47 
48  FairGeoParSet* fGeoPar;
49 
51 
52  std::vector<std::string> fAllowedChannels = {"stsdigi", "parameters"};
53  std::vector<std::vector<std::string>> fChannelsToSend = {{}, {}};
54 
55  bool IsChannelNameAllowed(std::string channelName);
56 
57  bool InitContainers();
58 
59  bool DoWork();
60 
61  bool SendData();
62 
63  void Finish();
64 
65 
66  FairField* createField();
67 
68  // TList* fParCList;
69 
70  // TObjArray fArrayHisto;
71 };
72 
73 // special class to expose protected TMessage constructor
74 class CbmMQTMessage : public TMessage {
75 public:
76  CbmMQTMessage(void* buf, Int_t len) : TMessage(buf, len) {
77  ResetBit(kIsOwner);
78  }
79 };
80 
81 #endif /* CBMDEVICESTSLOCALRECO_H_ */
CbmDeviceStsLocalReco::fRunId
std::string fRunId
Definition: CbmDeviceStsLocalReco.h:43
CbmMQTMessage
Definition: CbmDeviceEventBuilderEtofStar2019.h:96
CbmMQTMessage::CbmMQTMessage
CbmMQTMessage(void *buf, Int_t len)
Definition: CbmDeviceStsLocalReco.h:76
CbmDeviceStsLocalReco::IsChannelNameAllowed
bool IsChannelNameAllowed(std::string channelName)
Definition: CbmDeviceStsLocalReco.cxx:104
CbmDeviceStsLocalReco::InitContainers
bool InitContainers()
Definition: CbmDeviceStsLocalReco.cxx:125
CbmDeviceStsLocalReco::fvmcworkdir
std::string fvmcworkdir
Definition: CbmDeviceStsLocalReco.h:44
CbmDeviceStsLocalReco::CbmDeviceStsLocalReco
CbmDeviceStsLocalReco()
CbmDeviceStsLocalReco::fMaxTimeslices
uint64_t fMaxTimeslices
Definition: CbmDeviceMinimal.h:26
CbmDeviceStsLocalReco::DoWork
bool DoWork()
Definition: CbmDeviceStsLocalReco.cxx:289
CbmDeviceStsLocalReco::createField
FairField * createField()
Definition: CbmDeviceStsLocalReco.cxx:225
CbmDeviceStsLocalReco::InitTask
virtual void InitTask()
CbmDeviceStsLocalReco::fNumMessages
uint64_t fNumMessages
Definition: CbmDeviceMinimal.h:27
CbmDeviceStsLocalReco
Definition: CbmDeviceMinimal.h:16
CbmDeviceStsLocalReco::fDigiPar
CbmStsDigitizeParameters * fDigiPar
Definition: CbmDeviceStsLocalReco.h:46
CbmDeviceStsLocalReco::Finish
void Finish()
Definition: CbmDeviceStsLocalReco.cxx:291
CbmDeviceStsLocalReco::~CbmDeviceStsLocalReco
virtual ~CbmDeviceStsLocalReco()
CbmDeviceStsLocalReco::fAllowedChannels
std::vector< std::string > fAllowedChannels
Definition: CbmDeviceStsLocalReco.h:52
CbmFieldPar
Definition: CbmFieldPar.h:31
CbmDeviceStsLocalReco::fFieldPar
CbmFieldPar * fFieldPar
Definition: CbmDeviceStsLocalReco.h:50
CbmDeviceStsLocalReco::HandleData
bool HandleData(FairMQMessagePtr &, int)
CbmDeviceStsLocalReco::fChannelsToSend
std::vector< std::vector< std::string > > fChannelsToSend
Definition: CbmDeviceStsLocalReco.h:53
CbmDeviceStsLocalReco::fGeoPar
FairGeoParSet * fGeoPar
Definition: CbmDeviceStsLocalReco.h:48
CbmDeviceStsLocalReco::SendData
bool SendData()
Definition: CbmDeviceStsLocalReco.cxx:287