CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual ~CMSFieldManager();
24 
25  virtual void ConfigureForTrack(const G4Track*);
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 
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
void InitialiseForVolume(const edm::ParameterSet &, sim::Field *, G4ChordFinder *, G4ChordFinder *, const std::string &vol, const std::string &type, const std::string &stepper, double delta, double minstep)
G4ChordFinder * chordFinder
G4ChordFinder * chordFinderMonopole
Definition: sim.h:19
double dIntersectionSimple
G4ChordFinder * currChordFinder
CMSFieldManager & operator=(const CMSFieldManager &)
virtual void ConfigureForTrack(const G4Track *)
virtual ~CMSFieldManager()
std::unique_ptr< sim::Field > theField
void SetMonopoleTracking(G4bool)