Skip to content
Snippets Groups Projects
CbmDeviceStsLocalReco.h 1.43 KiB
Newer Older
/* Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
   SPDX-License-Identifier: GPL-3.0-only
   Authors: Florian Uhlig [committer] */
/**
 * CbmDeviceStsLocalReco.h
 *
 * @since 2019-08-28
 * @author F. Uhlig
 */

#ifndef CBMDEVICEMSTSLOCALRECO_H_
#define CBMDEVICEMSTSLOCALRECO_H_

#include "FairMQDevice.h"

//#include "CbmStsDigitizeParameters.h"

//#include "FairGeoParSet.h"

//#include "Rtypes.h"
//#include "TObjArray.h"

#include <string>
Administrator's avatar
Administrator committed
#include <vector>

//class TList;
class CbmStsDigitizeParameters;
class CbmFieldPar;

class FairGeoParSet;
class FairField;

Administrator's avatar
Administrator committed
class CbmDeviceStsLocalReco : public FairMQDevice {
public:
  CbmDeviceStsLocalReco();
  virtual ~CbmDeviceStsLocalReco();

protected:
  virtual void InitTask();
  bool HandleData(FairMQMessagePtr&, int);

private:
  uint64_t fMaxTimeslices;
  uint64_t fNumMessages;
  std::string fRunId;
  std::string fvmcworkdir;

  CbmStsDigitizeParameters* fDigiPar;

  FairGeoParSet* fGeoPar;
Administrator's avatar
Administrator committed
  CbmFieldPar* fFieldPar;
  std::vector<std::string> fAllowedChannels             = {"stsdigi", "parameters"};
Administrator's avatar
Administrator committed
  std::vector<std::vector<std::string>> fChannelsToSend = {{}, {}};
Administrator's avatar
Administrator committed
  bool IsChannelNameAllowed(std::string channelName);
Administrator's avatar
Administrator committed
  bool InitContainers();
Administrator's avatar
Administrator committed
  bool DoWork();
Administrator's avatar
Administrator committed
  bool SendData();
Administrator's avatar
Administrator committed
  void Finish();
Administrator's avatar
Administrator committed
  FairField* createField();
Administrator's avatar
Administrator committed
  //    TList* fParCList;
Administrator's avatar
Administrator committed
  //    TObjArray fArrayHisto;
};

#endif /* CBMDEVICESTSLOCALRECO_H_ */