EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4Example03Detector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4Example03Detector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4EXAMPLE03DETECTOR_H
4 #define G4EXAMPLE03DETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 
8 #include <set>
9 #include <string> // for string
10 
12 class G4LogicalVolume;
13 class G4VPhysicalVolume;
14 class PHCompositeNode;
15 class PHG4Subsystem;
16 class PHParameters;
17 
19 {
20  public:
22  G4Example03Detector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam);
23 
25  virtual ~G4Example03Detector() {}
26 
28  virtual void ConstructMe(G4LogicalVolume *world);
29 
30  virtual void Print(const std::string &what = "ALL") const;
31 
33 
34  int IsInDetector(G4VPhysicalVolume *) const;
36 
37  void SuperDetector(const std::string &name) { m_SuperDetector = name; }
38  const std::string SuperDetector() const { return m_SuperDetector; }
39 
40  protected:
42 
44 
45  // active volumes
46  std::set<G4VPhysicalVolume *> m_PhysicalVolumesSet;
47 
48  std::string m_SuperDetector;
49 };
50 
51 #endif // G4EXAMPLE03DETECTOR_H