Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:55

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