Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:45

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4CYLINDERDETECTOR_H
0004 #define G4DETECTORS_PHG4CYLINDERDETECTOR_H
0005 
0006 #include <g4main/PHG4Detector.h>
0007 
0008 #include <string>
0009 
0010 class G4LogicalVolume;
0011 class G4VPhysicalVolume;
0012 class PHCompositeNode;
0013 class PHG4CylinderDisplayAction;
0014 class PHG4Subsystem;
0015 class PHParameters;
0016 
0017 class PHG4CylinderDetector : public PHG4Detector
0018 {
0019  public:
0020   //! constructor
0021   PHG4CylinderDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int layer = 0);
0022 
0023   //! destructor
0024   ~PHG4CylinderDetector() override = default;
0025 
0026   //! construct
0027   void ConstructMe(G4LogicalVolume *world) override;
0028 
0029   bool IsInCylinder(const G4VPhysicalVolume *) const;
0030   void SuperDetector(const std::string &name) { m_SuperDetector = name; }
0031   const std::string &SuperDetector() const { return m_SuperDetector; }
0032   int get_Layer() const { return m_Layer; }
0033 
0034  private:
0035   PHParameters *m_Params;
0036 
0037   G4VPhysicalVolume *m_CylinderPhysicalVolume;
0038   PHG4CylinderDisplayAction *m_DisplayAction;
0039 
0040   int m_Layer;
0041   std::string m_SuperDetector;
0042 };
0043 
0044 #endif