ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4OuterHcalField.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4OuterHcalField.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 // $Id: $
4 
13 #ifndef G4DETECTORS_PHG4OUTERHCALFIELD_H
14 #define G4DETECTORS_PHG4OUTERHCALFIELD_H
15 
16 #include <Geant4/G4MagneticField.hh>
17 #include <Geant4/G4Types.hh> // for G4double, G4int
18 
32 {
33  public:
34  PHG4OuterHcalField() = delete;
35 
36  PHG4OuterHcalField(bool isInIron, G4int steelPlates,
37  G4double scintiGap, G4double tiltAngle);
38 
39  ~PHG4OuterHcalField() override {}
40 
41  void
42  GetFieldValue(const double Point[4], double *Bfield) const override;
43 
44  bool
45  is_is_in_iron() const
46  {
47  return is_in_iron;
48  }
49 
50  void
51  set_is_in_iron(bool isInIron)
52  {
53  is_in_iron = isInIron;
54  }
55 
56  G4int
58  {
59  return n_steel_plates;
60  }
61 
62  void
63  set_steel_plates(G4int steelPlates)
64  {
65  n_steel_plates = steelPlates;
66  }
67 
68  double
70  {
72  }
73 
74  void
75  set_relative_permeability_absorber(double relativePermeabilityAbsorber)
76  {
77  relative_permeability_absorber = relativePermeabilityAbsorber;
78  }
79 
80  double
82  {
84  }
85 
86  void
87  set_relative_permeability_gap(double relativePermeabilityGap)
88  {
89  relative_permeability_gap = relativePermeabilityGap;
90  }
91 
92  G4double
94  {
95  return scinti_gap;
96  }
97 
98  void
100  {
101  scinti_gap = scintiGap;
102  }
103 
104  G4double
106  {
107  return tilt_angle;
108  }
109 
110  void
112  {
113  tilt_angle = tiltAngle;
114  }
115 
116  private:
118  // relative permeability for Steel 1006 @ B = 1.06T
120 
125 };
126 
127 #endif /* G4DETECTORS_PHG4OUTERHCALFIELD_H */