ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BeamLineMagnetDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BeamLineMagnetDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_BEAMLINEMAGNETMAGNETDETECTOR_H
4 #define G4DETECTORS_BEAMLINEMAGNETMAGNETDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 
8 #include <string>
9 
11 class G4LogicalVolume;
12 class G4VPhysicalVolume;
13 class PHCompositeNode;
14 class PHG4Subsystem;
15 class PHParameters;
16 class G4MagneticField;
17 
19 {
20  public:
22  BeamLineMagnetDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int magnetid = 0);
23 
25  ~BeamLineMagnetDetector(void) override
26  {
27  }
28 
30  void ConstructMe(G4LogicalVolume *world) override;
31 
33  void PostConstruction() override;
34 
35  int IsInBeamLineMagnet(const G4VPhysicalVolume *) const;
36  void SuperDetector(const std::string &name) { m_SuperDetector = name; }
37  const std::string SuperDetector() const { return m_SuperDetector; }
38  int get_MagnetId() const { return m_MagnetId; }
39 
40  private:
41  PHParameters *m_Params = nullptr;
42 
49 
50  int m_MagnetId = -1;
51 
52  std::string m_SuperDetector = "NONE";
53 };
54 
55 #endif // G4DETECTORS_BEAMLINEMAGNETMAGNETDETECTOR_H