er  dev
ERNDUnpack.h
1 #ifndef ERNDUnpack_H
2 #define ERNDUnpack_H
3 
4 #include "TString.h"
5 
6 #include "DetEventDetector.h"
7 
8 #include "ERUnpack.h"
9 
10 class ERNDUnpack : public ERUnpack {
11  public:
12  ERNDUnpack(TString detName, TString ampStation, TString timeStation, TString tacStation,
13  TString ampCalFile, TString timeCalFile, TString tacCalFile,
14  ChannelMapping* channelsMapping = nullptr,
15  Bool_t skipAloneChannels = kTRUE);
16  virtual ~ERNDUnpack() = default;
17  protected:
18  virtual void Register();
19  virtual std::vector<TString> InputBranchNames() const;
20  virtual void UnpackSignalFromStations();
21  void AddNDDigi(float edep, float time, float tac, ERChannel channelNb);
22  void ApplyCalibrations(const ERChannel channel, float& amp, float& time, float& tac);
23  Bool_t CheckSetup();
24  protected:
25  TString fAmpStation;
26  TString fTimeStation;
27  TString fTACStation;
28  TMatrixD* fAmpCalTable = nullptr;
29  TMatrixD* fTimeCalTable = nullptr;
30  TMatrixD* fTACCalTable = nullptr;
31  ChannelMapping* fChannelMapping = nullptr;
32  Bool_t fSkipAloneChannels = false;
33  public:
34  ClassDef(ERNDUnpack, 0)
35 };
36 
37 #endif