EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicFRichDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EicFRichDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef MYDETECTORDETECTOR_H
4 #define MYDETECTORDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 #include <Geant4/G4Material.hh>
8 
9 #include <set>
10 #include <string> // for string
11 
12 class G4LogicalVolume;
13 class G4VPhysicalVolume;
14 class PHCompositeNode;
15 class PHG4Subsystem;
16 class PHParameters;
17 
18 class EicFRichDetector : public PHG4Detector
19 {
20  public:
22  EicFRichDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam);
23 
25  virtual ~EicFRichDetector() {}
26 
28  void ConstructMe(G4LogicalVolume *world) override;
29 
30  void Print(const std::string &what = "ALL") const override;
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  G4Material * element_material( std::string identifier );
40  void addDetectorSection( G4LogicalVolume *logicWorld , std::string name , double z_pos , double thick , std::string material , std::string color);
41 
42  private:
44 
45  // active volumes
46  std::set<G4VPhysicalVolume *> m_PhysicalVolumesSet;
47 
48  std::string m_SuperDetector;
49 };
50 
51 #endif // MYDETECTORDETECTOR_H