Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4OuterHcalFieldSetup.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4OuterHcalFieldSetup.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 // $Id: $
4 
13 #ifndef G4DETECTORS_PHG4OUTERHCALFIELDSETUP_H
14 #define G4DETECTORS_PHG4OUTERHCALFIELDSETUP_H
15 
16 #include <Geant4/G4Types.hh> // for G4double, G4int
17 
18 #include <cmath>
19 
20 class G4ChordFinder;
21 class G4FieldManager;
22 class G4Mag_UsualEqRhs;
23 class G4MagIntegratorStepper;
24 class G4MagneticField;
25 
30 {
31  public:
32  PHG4OuterHcalFieldSetup(G4int steelPlates, G4double scintiGap,
33  G4double tiltAngle);
35  explicit PHG4OuterHcalFieldSetup(const PHG4OuterHcalFieldSetup&) = delete;
37 
39 
40  G4FieldManager*
42  {
43  return fFieldManagerGap;
44  }
45 
46  void
47  set_Field_Manager_Gap(G4FieldManager* fieldManagerGap)
48  {
49  fFieldManagerGap = fieldManagerGap;
50  }
51 
52  G4FieldManager*
54  {
55  return fFieldManagerIron;
56  }
57 
58  void
59  set_Field_Manager_Iron(G4FieldManager* fieldManagerIron)
60  {
61  fFieldManagerIron = fieldManagerIron;
62  }
63 
64  G4double
65  get_Min_Step() const
66  {
67  return fMinStep;
68  }
69 
70  void
71  set_Min_Step(G4double minStep)
72  {
73  fMinStep = minStep;
74  }
75 
76  G4int
78  {
79  return n_steel_plates;
80  }
81 
82  void
83  set_steel_plates(G4int steelPlates)
84  {
85  n_steel_plates = steelPlates;
86  }
87 
88  G4double
90  {
91  return scinti_gap;
92  }
93 
94  void
95  set_scinti_gap(G4double scintiGap)
96  {
97  scinti_gap = scintiGap;
98  }
99 
100  G4double
102  {
103  return tilt_angle;
104  }
105 
106  void
107  set_tilt_angle(G4double tiltAngle)
108  {
109  tilt_angle = tiltAngle;
110  }
111 
112  private:
113  G4FieldManager* fFieldManagerIron = nullptr;
114  G4FieldManager* fFieldManagerGap = nullptr;
115  G4Mag_UsualEqRhs* fEquationIron = nullptr;
116  G4Mag_UsualEqRhs* fEquationGap = nullptr;
117  G4ChordFinder* fChordFinderIron = nullptr;
118  G4ChordFinder* fChordFinderGap = nullptr;
119  G4MagneticField* fEMfieldIron = nullptr;
120  G4MagneticField* fEMfieldGap = nullptr;
121  G4MagIntegratorStepper* fStepperIron = nullptr;
122  G4MagIntegratorStepper* fStepperGap = nullptr;
123 
124  G4double fMinStep = NAN;
125 
126  G4int n_steel_plates = -1;
127  G4double scinti_gap = NAN;
128  G4double tilt_angle = NAN;
129 };
130 
131 #endif /* PHG4OUTERHCALFIELDSETUP_H_ */