Main Page
Namespaces
Classes
Package Documentation
SimG4Core
GFlash
plugins
GFlash.cc
Go to the documentation of this file.
1
#include "
SimG4Core/GFlash/interface/GFlash.h
"
2
#include "
SimG4Core/GFlash/interface/ParametrisedPhysics.h
"
3
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics95msc93.h
"
4
#include "
SimG4Core/PhysicsLists/interface/CMSMonopolePhysics.h
"
5
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
6
7
#include "G4DecayPhysics.hh"
8
#include "G4EmExtraPhysics.hh"
9
#include "G4IonPhysics.hh"
10
#include "G4StoppingPhysics.hh"
11
#include "G4HadronElasticPhysics.hh"
12
#include "G4NeutronTrackingCut.hh"
13
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
14
15
#include "G4DataQuestionaire.hh"
16
#include "
SimGeneral/GFlash/interface/GflashHistogram.h
"
17
18
#include <string>
19
20
GFlash::GFlash
(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
21
const
HepPDT::ParticleDataTable
*
table_
,
22
sim::ChordFinderSetter
*chordFinderSetter_,
23
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, chordFinderSetter_, p),
24
thePar(p.getParameter<
edm
::
ParameterSet
>(
"GFlash"
)) {
25
26
G4DataQuestionaire it(
photon
);
27
28
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
29
bool
emPhys = p.
getUntrackedParameter
<
bool
>(
"EMPhysics"
,
true
);
30
bool
hadPhys = p.
getUntrackedParameter
<
bool
>(
"HadPhysics"
,
true
);
31
bool
tracking
= p.
getParameter
<
bool
>(
"TrackingCut"
);
32
std::string
region = p.
getParameter
<
std::string
>(
"Region"
);
33
34
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the obsolete simulation engine: "
35
<<
" GFlash with Flags for EM Physics "
36
<< emPhys <<
", for Hadronic Physics "
37
<< hadPhys
38
<<
" and tracking cut "
<< tracking
39
<<
" with special region "
<< region;
40
41
RegisterPhysics(
new
ParametrisedPhysics
(
"parametrised"
,
thePar
));
42
43
if
(emPhys) {
44
// EM Physics
45
RegisterPhysics(
new
CMSEmStandardPhysics95msc93
(
"EM standard msc93"
,ver,region));
46
47
// Synchroton Radiation & GN Physics
48
RegisterPhysics(
new
G4EmExtraPhysics(ver));
49
}
50
51
// Decays
52
RegisterPhysics(
new
G4DecayPhysics(ver) );
53
54
if
(hadPhys) {
55
// Hadron Elastic scattering
56
RegisterPhysics(
new
G4HadronElasticPhysics(ver));
57
58
// Hadron Physics
59
RegisterPhysics(
new
G4HadronPhysicsQGSP_FTFP_BERT(ver));
60
// Stopping Physics
61
RegisterPhysics(
new
G4StoppingPhysics(ver));
62
63
// Ion Physics
64
RegisterPhysics(
new
G4IonPhysics(ver));
65
66
// Neutron tracking cut
67
if
(tracking) {
68
RegisterPhysics(
new
G4NeutronTrackingCut(ver));
69
}
70
}
71
72
// Monopoles
73
RegisterPhysics(
new
CMSMonopolePhysics
(table_,chordFinderSetter_,p));
74
75
// singleton histogram object
76
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
77
theHisto
=
GflashHistogram::instance
();
78
theHisto
->
setStoreFlag
(
true
);
79
theHisto
->
bookHistogram
(
thePar
.
getParameter
<
std::string
>(
"GflashHistogramName"
));
80
}
81
}
82
83
GFlash::~GFlash
() {
84
85
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
86
if
(
theHisto
)
delete
theHisto
;
87
}
88
89
}
90
91
//define this as a plug-in
92
#include "
FWCore/Framework/interface/MakerMacros.h
"
93
#include "
SimG4Core/Physics/interface/PhysicsListFactory.h
"
94
95
96
DEFINE_PHYSICSLIST
(
GFlash
);
97
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
GflashHistogram::instance
static GflashHistogram * instance()
Definition:
GflashHistogram.cc:5
GFlash::GFlash
GFlash(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
Definition:
GFlash.cc:20
MessageLogger.h
DEFINE_PHYSICSLIST
#define DEFINE_PHYSICSLIST(type)
Definition:
PhysicsListFactory.h:12
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
CMSEmStandardPhysics95msc93.h
GFlash::~GFlash
~GFlash() override
Definition:
GFlash.cc:83
sim::ChordFinderSetter
Definition:
ChordFinderSetter.h:5
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
GflashHistogram.h
ParameterSet
Definition:
Functions.h:16
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
MakerMacros.h
GFlash
Definition:
GFlash.h:11
PhysicsList
Definition:
PhysicsList.h:14
GFlash::thePar
edm::ParameterSet thePar
Definition:
GFlash.h:19
GflashHistogram::bookHistogram
void bookHistogram(std::string histFileName="gflash_histogram.root")
Definition:
GflashHistogram.cc:17
ParametrisedPhysics
Definition:
ParametrisedPhysics.h:14
ParametrisedPhysics.h
DDMapper< G4LogicalVolume *, DDLogicalPart >
edm::LogInfo
Definition:
MessageLogger.h:216
genParticles_cff.map
map
Definition:
genParticles_cff.py:11
table_
Table table_
Definition:
ExceptionActions.cc:21
CMSEmStandardPhysics95msc93
Definition:
CMSEmStandardPhysics95msc93.h:9
muons2muons_cfi.photon
photon
Definition:
muons2muons_cfi.py:28
CMSMonopolePhysics
Definition:
CMSMonopolePhysics.h:18
edm
HLT enums.
Definition:
AlignableModifier.h:17
CMSMonopolePhysics.h
GFlash.h
edm::ParameterSet
Definition:
ParameterSet.h:36
PhysicsListFactory.h
GFlash::theHisto
GflashHistogram * theHisto
Definition:
GFlash.h:18
GflashHistogram::setStoreFlag
void setStoreFlag(bool flag)
Definition:
GflashHistogram.h:26
tracking
Definition:
TempMeasurements.h:9
Generated for CMSSW Reference Manual by
1.8.11