CMS 3D CMS Logo

CMSFieldManager.h
Go to the documentation of this file.
1 #ifndef SimG4Core_MagneticField_CMSFieldManager_H
2 #define SimG4Core_MagneticField_CMSFieldManager_H
3 
4 /*
5  Created: 13 January 2017, V. Ivanchenko
6  This class implements smart magnetic field manager
7 */
8 
10 
11 #include "G4FieldManager.hh"
12 
13 class G4Track;
14 class G4ChordFinder;
15 namespace sim { class Field; }
16 
17 class CMSFieldManager : public G4FieldManager
18 {
19 public:
20 
21  explicit CMSFieldManager();
22 
23  ~CMSFieldManager() override;
24 
25  void ConfigureForTrack(const G4Track*) override;
26 
27  void InitialiseForVolume(const edm::ParameterSet&, sim::Field*, G4ChordFinder*, G4ChordFinder*,
28  const std::string& vol, const std::string& type,
29  const std::string& stepper, double delta, double minstep);
30 
31  void SetMonopoleTracking(G4bool);
32 
33 private:
34 
35  CMSFieldManager(const CMSFieldManager&) = delete;
36  CMSFieldManager& operator=(const CMSFieldManager&) = delete;
37 
38  std::unique_ptr<sim::Field> theField;
39 
40  G4ChordFinder* currChordFinder;
41  G4ChordFinder* chordFinder;
42  G4ChordFinder* chordFinderMonopole;
43 
44  double dChord;
45  double dOneStep;
46  double dIntersection;
48  double dChordSimple;
51 };
52 #endif
dbl * delta
Definition: mlp_gen.cc:36
type
Definition: HCALResponse.h:21
G4ChordFinder * chordFinder
G4ChordFinder * chordFinderMonopole
double dIntersectionSimple
G4ChordFinder * currChordFinder
Definition: RunManager.h:28
std::unique_ptr< sim::Field > theField