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
private
:
45
bool
isInsideVacuum
(
const
G4Track *);
46
void
setDefaultChordFinder
();
47
void
setChordFinderForVacuum
();
48
49
CMSFieldManager
(
const
CMSFieldManager
&) =
delete
;
50
CMSFieldManager
&
operator=
(
const
CMSFieldManager
&) =
delete
;
51
52
std::unique_ptr<sim::Field>
theField
;
53
54
G4ChordFinder *
m_currChordFinder
;
55
G4ChordFinder *
m_chordFinder
;
56
G4ChordFinder *
m_chordFinderMonopole
;
57
58
G4PropagatorInField *
m_propagator
;
59
60
std::vector<const G4Region *>
m_regions
;
61
62
double
m_dChord
;
63
double
m_dOneStep
;
64
double
m_dIntersection
;
65
double
m_stepMax
;
66
double
m_energyThreshold
;
67
double
m_dChordSimple
;
68
double
m_dOneStepSimple
;
69
double
m_dIntersectionSimple
;
70
double
m_stepMaxSimple
;
71
72
bool
m_cfVacuum
;
73
};
74
#endif
CMSFieldManager::ConfigureForTrack
void ConfigureForTrack(const G4Track *) override
Definition:
CMSFieldManager.cc:125
CMSFieldManager::m_dOneStepSimple
double m_dOneStepSimple
Definition:
CMSFieldManager.h:68
CMSFieldManager::m_dOneStep
double m_dOneStep
Definition:
CMSFieldManager.h:63
CMSFieldManager::SetMonopoleTracking
void SetMonopoleTracking(G4bool)
Definition:
CMSFieldManager.cc:138
CMSFieldManager::m_chordFinder
G4ChordFinder * m_chordFinder
Definition:
CMSFieldManager.h:55
CMSFieldManager::m_dIntersectionSimple
double m_dIntersectionSimple
Definition:
CMSFieldManager.h:69
CMSFieldManager::m_stepMax
double m_stepMax
Definition:
CMSFieldManager.h:65
CMSFieldManager::m_stepMaxSimple
double m_stepMaxSimple
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:39
CMSFieldManager
Definition:
CMSFieldManager.h:24
CMSFieldManager::theField
std::unique_ptr< sim::Field > theField
Definition:
CMSFieldManager.h:52
CMSFieldManager::isInsideVacuum
bool isInsideVacuum(const G4Track *)
Definition:
CMSFieldManager.cc:154
CMSFieldManager::m_currChordFinder
G4ChordFinder * m_currChordFinder
Definition:
CMSFieldManager.h:54
CMSFieldManager::m_chordFinderMonopole
G4ChordFinder * m_chordFinderMonopole
Definition:
CMSFieldManager.h:56
sim::Field
Definition:
Field.h:9
CMSFieldManager::m_dChord
double m_dChord
Definition:
CMSFieldManager.h:62
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
CMSFieldManager::~CMSFieldManager
~CMSFieldManager() override
Definition:
CMSFieldManager.cc:30
CMSFieldManager::m_propagator
G4PropagatorInField * m_propagator
Definition:
CMSFieldManager.h:58
edm::ParameterSet
Definition:
ParameterSet.h:36
sim
Definition:
GeometryProducer.h:20
dumpMFGeometry_cfg.delta
delta
Definition:
dumpMFGeometry_cfg.py:25
CMSFieldManager::setChordFinderForVacuum
void setChordFinderForVacuum()
Definition:
CMSFieldManager.cc:176
CMSFieldManager::setDefaultChordFinder
void setDefaultChordFinder()
Definition:
CMSFieldManager.cc:166
CMSFieldManager::operator=
CMSFieldManager & operator=(const CMSFieldManager &)=delete
CMSFieldManager::m_dChordSimple
double m_dChordSimple
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:60
CMSFieldManager::m_energyThreshold
double m_energyThreshold
Definition:
CMSFieldManager.h:66
CMSFieldManager::m_dIntersection
double m_dIntersection
Definition:
CMSFieldManager.h:64
CMSFieldManager::m_cfVacuum
bool m_cfVacuum
Definition:
CMSFieldManager.h:72
Generated for CMSSW Reference Manual by
1.8.16