File indexing completed on 2025-08-05 08:17:41
0001
0002
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
0020 PHG4BeamlineMagnetDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int layer = 0);
0021
0022
0023 ~PHG4BeamlineMagnetDetector(void) override = default;
0024
0025
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