ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICG4LumiSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICG4LumiSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef EICG4LUMISUBSYSTEM_H
4 #define EICG4LUMISUBSYSTEM_H
5 
7 
8 class PHCompositeNode;
9 class PHG4Detector;
10 class EICG4LumiDetector;
11 class PHG4SteppingAction;
12 
24 {
25  public:
27  EICG4LumiSubsystem(const std::string& name = "EICG4Lumi", const int layer = 0);
28 
30  virtual ~EICG4LumiSubsystem() {}
31 
35  int InitRunSubsystem(PHCompositeNode*) override;
36 
38 
42  int process_event(PHCompositeNode*) override;
43 
45  PHG4Detector* GetDetector() const override;
46 
47  PHG4SteppingAction* GetSteppingAction() const override { return m_SteppingAction; } //StepAc
48 
50  void Print(const std::string& what = "ALL") const override;
51 
52  bool CanBeMotherSubsystem() const override {return true;}
53 
54  void SaveAllHits(bool i = true){ m_SaveAllHitsFlag = i;}
55  //void SetTowerMappingFile(const std::string &filename);
56  void SetParametersFromFile( std::string filename );
57 
58  protected:
59  // \brief Set default parameter values
60  void SetDefaultParameters() override;
61 
62  private:
64 
66 
68 
71 
72  bool m_SaveAllHitsFlag = false;
73  //std::string mappingfile_;
74 
75 };
76 
77 #endif // EICG4LUMISUBSYSTEM_H
78 
79 
80