EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4LmonDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4LmonDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4LMONDETECTOR_H
4 #define G4LMONDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 
8 #include <set>
9 #include <string> // for string
10 #include <vector>
11 
12 class G4LogicalVolume;
13 class G4Step;
14 class G4VPhysicalVolume;
15 class PHCompositeNode;
16 class PHG4Subsystem;
17 class PHParameters;
18 
19 class CompCal;
20 class Cell;
21 class ExitWindowV2;
22 class OpDet;
23 class RootOut;
24 
26 {
27  public:
29  G4LmonDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &dnam);
30 
32  virtual ~G4LmonDetector() {}
33 
35  virtual void ConstructMe(G4LogicalVolume *world);
36 
37  virtual void Print(const std::string &what = "ALL") const;
38 
40 
41  int IsInDetector(G4VPhysicalVolume *) const;
43 
44  void SuperDetector(const std::string &name) { m_SuperDetector = name; }
45  const std::string SuperDetector() const { return m_SuperDetector; }
46 
47  bool ExecuteSteppingActions(const G4Step* aStep);
48  void ClearEvent();
49  void FinishEvent();
50  void SetRootOutput(RootOut *rout) {rootoutput = rout;}
51  protected:
52 // active volumes
53  std::set<G4VPhysicalVolume *> m_PhysicalVolumesSet;
54 
55  std::string m_SuperDetector;
56  std::vector<Cell *> m_CellVector;
57  std::vector<CompCal *> m_CompCalVector;
58  std::vector<ExitWindowV2 *> m_ExitWindowV2Vector;
59  std::vector<OpDet *> m_OpDetVector;
61 };
62 
63 #endif // G4LMONDETECTOR_H