Back to home page

sPhenix code displayed by LXR

 
 

    


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

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