Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SimG4Core
PhysicsLists
plugins
QBBCCMS.cc
Go to the documentation of this file.
1
#include "QBBCCMS.hh"
2
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h
"
3
#include "
SimG4Core/PhysicsLists/interface/CMSMonopolePhysics.h
"
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
6
#include "G4DecayPhysics.hh"
7
#include "G4EmExtraPhysics.hh"
8
#include "G4QStoppingPhysics.hh"
9
#include "G4LHEPStoppingPhysics.hh"
10
11
#include "G4DataQuestionaire.hh"
12
#include "G4HadronInelasticQBBC.hh"
13
#include "G4HadronInelasticQLHEP.hh"
14
#include "G4HadronElasticPhysics.hh"
15
#include "G4HadronDElasticPhysics.hh"
16
#include "G4HadronHElasticPhysics.hh"
17
#include "G4IonBinaryCascadePhysics.hh"
18
#include "G4IonPhysics.hh"
19
#include "G4NeutronTrackingCut.hh"
20
21
QBBCCMS::QBBCCMS(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
22
const
HepPDT::ParticleDataTable
*
table_
,
23
sim::FieldBuilder
*fieldBuilder_,
24
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, fieldBuilder_, p) {
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
ftf = p.
getUntrackedParameter
<
bool
>(
"FlagFTF"
,
false
);
32
bool
bert = p.
getUntrackedParameter
<
bool
>(
"FlagBERT"
,
false
);
33
bool
chips = p.
getUntrackedParameter
<
bool
>(
"FlagCHIPS"
,
false
);
34
bool
hp = p.
getUntrackedParameter
<
bool
>(
"FlagHP"
,
false
);
35
bool
glauber = p.
getUntrackedParameter
<
bool
>(
"FlagGlauber"
,
false
);
36
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
37
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
38
<<
"QBBC 3.1 with Flags for EM Physics "
39
<< emPhys <<
" and for Hadronic Physics "
40
<< hadPhys <<
" Flags for FTF "
<< ftf
41
<<
" BERT "
<< bert <<
" CHIPS "
<< chips
42
<<
" HP "
<< hp <<
" Glauber "
<< glauber
43
<<
" and tracking cut "
<< tracking;
44
45
if
(emPhys) {
46
// EM Physics
47
RegisterPhysics(
new
CMSEmStandardPhysics
(
"standard EM"
,ver));
48
49
// Synchroton Radiation & GN Physics
50
RegisterPhysics(
new
G4EmExtraPhysics(
"extra EM"
));
51
}
52
53
// Decays
54
RegisterPhysics(
new
G4DecayPhysics(
"decay"
,ver));
55
56
if
(hadPhys) {
57
// Hadron Elastic scattering
58
RegisterPhysics(
new
G4HadronElasticPhysics(
"hElastic"
,ver,
false
,
true
));
59
60
// Hadron Physics
61
RegisterPhysics(
new
G4HadronInelasticQBBC(
"inelastic"
, ver, ftf,
62
bert, chips, hp, glauber));
63
64
// Stopping Physics
65
RegisterPhysics(
new
G4QStoppingPhysics(
"stopping"
,ver));
66
67
// Ion Physics
68
RegisterPhysics(
new
G4IonBinaryCascadePhysics(
"ionBIC"
));
69
70
// Neutron tracking cut
71
if
(tracking)
72
RegisterPhysics(
new
G4NeutronTrackingCut(
"Neutron tracking cut"
, ver));
73
}
74
75
// Monopoles
76
RegisterPhysics(
new
CMSMonopolePhysics
(table_,fieldBuilder_,p));
77
}
78
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MessageLogger.h
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:9
CMSEmStandardPhysics
Definition:
CMSEmStandardPhysics.h:7
sim::FieldBuilder
Definition:
FieldBuilder.h:19
PhysicsList
Definition:
PhysicsList.h:13
python.multivaluedict.map
def map
Definition:
multivaluedict.py:125
DDMapper< G4LogicalVolume *, DDLogicalPart >
CMSEmStandardPhysics.h
edm::LogInfo
Definition:
MessageLogger.h:214
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
CMSMonopolePhysics
Definition:
CMSMonopolePhysics.h:15
CMSMonopolePhysics.h
edm::ParameterSet
Definition:
ParameterSet.h:35
table_
Table table_
Definition:
Actions.cc:22
Generated for CMSSW Reference Manual by
1.8.5