ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TpcRS.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TpcRS.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef TPCRS_H
4 #define TPCRS_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 //#if defined(__CLING__)
9 //namespace tpcrs {
10 //template< typename Base_t, typename Chair_t, typename Struct_t >
11 // std::string ConfigStruct< Base_t, Chair_t, Struct_t >::name{};
12 //}
13 //#endif
14 #include <tpcrs/tpcrs.h>
15 
16 #include <string>
17 #include <vector>
18 
19 class PHCompositeNode;
20 
21 class TpcRS : public SubsysReco
22 {
23  public:
24  TpcRS(const std::string &name = "TpcRS");
25 
26  virtual ~TpcRS();
27 
33  int Init(PHCompositeNode *topNode) override;
34 
40  int InitRun(PHCompositeNode *topNode) override;
41 
45  int process_event(PHCompositeNode *topNode) override;
46 
48  int ResetEvent(PHCompositeNode *topNode) override;
49 
51  int EndRun(const int runnumber) override;
52 
54  int End(PHCompositeNode *topNode) override;
55 
57  int Reset(PHCompositeNode * /*topNode*/) override;
58 
59  void Print(const std::string &what = "ALL") const override;
60 
61  void SetupConfigurator(const std::string &filename);
62 
63  private:
64  tpcrs::Configurator *cfg = nullptr;
65  tpcrs::Simulator *simulator = nullptr;
66  std::vector<tpcrs::SimulatedHit> simu_hits;
67  std::vector<tpcrs::DistortedHit> dist_hits;
68  std::vector<tpcrs::DigiHit> digi_hits;
69 };
70 
71 #endif // TPCRS_H