EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4JLeicVTXDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4JLeicVTXDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4JLEIC_G4JLEICVTXDETECTOR_H
4 #define G4JLEIC_G4JLEICVTXDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 
8 #include <map>
9 #include <string> // for string
10 
11 class G4LogicalVolume;
12 class G4VPhysicalVolume;
13 class PHCompositeNode;
14 class PHG4Subsystem;
16 
17 class G4JLeicVTXDetector : public PHG4Detector
18 {
19  public:
21  G4JLeicVTXDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParametersContainer *params_array, const std::string &dnam);
22 
24  virtual ~G4JLeicVTXDetector() {}
25 
27  virtual void ConstructMe(G4LogicalVolume *world);
28 
29  virtual void Print(const std::string &what = "ALL") const;
30 
32 
33  int IsInVTX(G4VPhysicalVolume *) const;
35 
36  void SuperDetector(const std::string &name) { m_SuperDetector = name; }
37  const std::string SuperDetector() const { return m_SuperDetector; }
38 
39  protected:
40  int m_IsActiveFlag;
42  int m_Layers;
44  std::map<G4VPhysicalVolume *, int> m_PhysicalVolumesMap;
45 
46  std::string m_SuperDetector;
47 };
48 
49 #endif // G4JLEIC_G4JLEICVTXDETECTOR_H