SimG4Core
MagneticField
interface
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
9
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
10
11
#include "G4FieldManager.hh"
12
#include <vector>
13
14
class
G4Track;
15
class
G4ChordFinder;
16
class
G4PropagatorInField;
17
class
G4MagIntegratorStepper;
18
class
G4Region;
19
20
namespace
sim
{
21
class
Field;
22
}
23
24
class
CMSFieldManager
:
public
G4FieldManager {
25
public
:
26
explicit
CMSFieldManager
();
27
28
~CMSFieldManager
()
override
;
29
30
void
ConfigureForTrack
(
const
G4Track *)
override
;
31
32
void
InitialiseForVolume
(
const
edm::ParameterSet
&,
33
sim::Field
*,
34
G4ChordFinder *cfDefault,
35
G4ChordFinder *cfMonopole,
36
const
std::string
&vol,
37
const
std::string
&fieldType,
38
const
std::string
&stepperName,
39
double
delta
,
40
G4PropagatorInField *);
41
42
void
setMonopoleTracking
(G4bool);
43
44
CMSFieldManager
(
const
CMSFieldManager
&) =
delete
;
45
CMSFieldManager
&
operator=
(
const
CMSFieldManager
&) =
delete
;
46
47
private
:
48
bool
isInsideVacuum
(
const
G4Track *);
49
bool
isInsideTracker
(
const
G4Track *);
50
void
setDefaultChordFinder
();
51
void
setChordFinderForTracker
();
52
void
setChordFinderForVacuum
();
53
54
std::unique_ptr<sim::Field>
theField
;
55
56
G4ChordFinder *
m_currChordFinder
;
57
G4ChordFinder *
m_chordFinder
;
58
G4ChordFinder *
m_chordFinderMonopole
;
59
60
G4PropagatorInField *
m_propagator
;
61
62
std::vector<const G4Region *>
m_regions
;
63
64
double
m_dChord
;
65
double
m_dChordTracker
;
66
double
m_dOneStep
;
67
double
m_dOneStepTracker
;
68
double
m_dIntersection
;
69
double
m_dInterTracker
;
70
double
m_Rmax2
;
71
double
m_Zmax
;
72
double
m_stepMax
;
73
double
m_energyThTracker
;
74
double
m_energyThreshold
;
75
double
m_dChordSimple
;
76
double
m_dOneStepSimple
;
77
double
m_dIntersectionSimple
;
78
double
m_stepMaxSimple
;
79
80
bool
m_cfTracker
;
81
bool
m_cfVacuum
;
82
};
83
#endif
CMSFieldManager::ConfigureForTrack
void ConfigureForTrack(const G4Track *) override
Definition:
CMSFieldManager.cc:140
CMSFieldManager::m_dInterTracker
double m_dInterTracker
Definition:
CMSFieldManager.h:69
CMSFieldManager::m_dOneStepSimple
double m_dOneStepSimple
Definition:
CMSFieldManager.h:76
CMSFieldManager::m_dOneStep
double m_dOneStep
Definition:
CMSFieldManager.h:66
CMSFieldManager::m_chordFinder
G4ChordFinder * m_chordFinder
Definition:
CMSFieldManager.h:57
CMSFieldManager::m_dIntersectionSimple
double m_dIntersectionSimple
Definition:
CMSFieldManager.h:77
CMSFieldManager::m_stepMax
double m_stepMax
Definition:
CMSFieldManager.h:72
CMSFieldManager::m_stepMaxSimple
double m_stepMaxSimple
Definition:
CMSFieldManager.h:78
CMSFieldManager::m_Rmax2
double m_Rmax2
Definition:
CMSFieldManager.h:70
CMSFieldManager::InitialiseForVolume
void InitialiseForVolume(const edm::ParameterSet &, sim::Field *, G4ChordFinder *cfDefault, G4ChordFinder *cfMonopole, const std::string &vol, const std::string &fieldType, const std::string &stepperName, double delta, G4PropagatorInField *)
Definition:
CMSFieldManager.cc:46
CMSFieldManager
Definition:
CMSFieldManager.h:24
CMSFieldManager::isInsideTracker
bool isInsideTracker(const G4Track *)
Definition:
CMSFieldManager.cc:186
CMSFieldManager::theField
std::unique_ptr< sim::Field > theField
Definition:
CMSFieldManager.h:54
CMSFieldManager::isInsideVacuum
bool isInsideVacuum(const G4Track *)
Definition:
CMSFieldManager.cc:174
CMSFieldManager::m_Zmax
double m_Zmax
Definition:
CMSFieldManager.h:71
CMSFieldManager::setMonopoleTracking
void setMonopoleTracking(G4bool)
Definition:
CMSFieldManager.cc:158
CMSFieldManager::m_currChordFinder
G4ChordFinder * m_currChordFinder
Definition:
CMSFieldManager.h:56
CMSFieldManager::m_chordFinderMonopole
G4ChordFinder * m_chordFinderMonopole
Definition:
CMSFieldManager.h:58
sim::Field
Definition:
Field.h:9
CMSFieldManager::m_dChordTracker
double m_dChordTracker
Definition:
CMSFieldManager.h:65
CMSFieldManager::m_dChord
double m_dChord
Definition:
CMSFieldManager.h:64
CMSFieldManager::m_cfTracker
bool m_cfTracker
Definition:
CMSFieldManager.h:80
CMSFieldManager::~CMSFieldManager
~CMSFieldManager() override
Definition:
CMSFieldManager.cc:37
CMSFieldManager::m_propagator
G4PropagatorInField * m_propagator
Definition:
CMSFieldManager.h:60
edm::ParameterSet
Definition:
ParameterSet.h:47
CMSFieldManager::setChordFinderForTracker
void setChordFinderForTracker()
Definition:
CMSFieldManager.cc:205
sim
Definition:
GeometryProducer.h:20
dumpMFGeometry_cfg.delta
delta
Definition:
dumpMFGeometry_cfg.py:25
CMSFieldManager::setChordFinderForVacuum
void setChordFinderForVacuum()
Definition:
CMSFieldManager.cc:218
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
CMSFieldManager::setDefaultChordFinder
void setDefaultChordFinder()
Definition:
CMSFieldManager.cc:193
CMSFieldManager::operator=
CMSFieldManager & operator=(const CMSFieldManager &)=delete
CMSFieldManager::m_energyThTracker
double m_energyThTracker
Definition:
CMSFieldManager.h:73
CMSFieldManager::m_dChordSimple
double m_dChordSimple
Definition:
CMSFieldManager.h:75
CMSFieldManager::m_dOneStepTracker
double m_dOneStepTracker
Definition:
CMSFieldManager.h:67
ParameterSet.h
CMSFieldManager::CMSFieldManager
CMSFieldManager()
Definition:
CMSFieldManager.cc:13
CMSFieldManager::m_regions
std::vector< const G4Region * > m_regions
Definition:
CMSFieldManager.h:62
CMSFieldManager::m_energyThreshold
double m_energyThreshold
Definition:
CMSFieldManager.h:74
CMSFieldManager::m_dIntersection
double m_dIntersection
Definition:
CMSFieldManager.h:68
CMSFieldManager::m_cfVacuum
bool m_cfVacuum
Definition:
CMSFieldManager.h:81
Generated for CMSSW Reference Manual by
1.8.16