ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4ConeSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4ConeSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4CONESUBSYSTEM_H
4 #define G4DETECTORS_PHG4CONESUBSYSTEM_H
5 
7 
8 #include <array> // for array
9 #include <string> // for string
10 
11 class PHCompositeNode;
12 class PHG4ConeDetector;
13 class PHG4Detector;
14 class PHG4DisplayAction;
15 class PHG4SteppingAction;
16 
18 {
19  public:
21  PHG4ConeSubsystem(const std::string& name = "CONE", const int layer = 0);
22 
24  ~PHG4ConeSubsystem(void) override;
25 
27 
32  int InitRunSubsystem(PHCompositeNode*) override;
33 
35 
39  int process_event(PHCompositeNode*) override;
40 
42  PHG4Detector* GetDetector(void) const override;
43  PHG4SteppingAction* GetSteppingAction(void) const override { return m_SteppingAction; };
44 
45  PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
46  void set_color(const double red, const double green, const double blue, const double alpha = 1.)
47  {
48  m_ColorArray[0] = red;
49  m_ColorArray[1] = green;
50  m_ColorArray[2] = blue;
51  m_ColorArray[3] = alpha;
52  }
53 
55  void SetR1(const double min, const double max);
56 
58  void SetR2(const double min, const double max);
59 
61  void SetZlength(const double a);
62 
64  void SetPhi(const double a, const double b);
65 
67  void Set_eta_range(double etaMin, double etaMax);
68 
69  void SetPlaceZ(const double dbl);
70  void SetPlace(const double place_x, const double place_y, const double place_z);
71 
72  void SetZRot(const double dbl);
73  void SetMaterial(const std::string& mat);
74 
75  // this method is used to check if it can be used as mothervolume
76  // Subsystems which can be mothervolume need to implement this
77  // and return true
78  bool CanBeMotherSubsystem() const override { return true; }
79 
80  private:
81  void SetDefaultParameters() override;
82 
84 
86 
88 
90 
92 
94 
96  std::array<double, 4> m_ColorArray;
97 };
98 
99 #endif // G4DETECTORS_PHG4CONESUBSYSTEM_H