Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
SimG4Core
PhysicsLists
plugins
QGSPCMS_BERT_EMX.cc
Go to the documentation of this file.
1
#include "QGSPCMS_BERT_EMX.hh"
2
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics71.h
"
3
#include "
SimG4Core/PhysicsLists/interface/CMSMonopolePhysics.h
"
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
6
#include "G4Material.hh"
7
#include "G4MaterialTable.hh"
8
9
#include "G4DecayPhysics.hh"
10
#include "G4EmExtraPhysics.hh"
11
#include "G4IonPhysics.hh"
12
#include "G4QStoppingPhysics.hh"
13
#include "G4HadronElasticPhysics.hh"
14
#include "G4NeutronTrackingCut.hh"
15
16
#include "G4DataQuestionaire.hh"
17
#include "HadronPhysicsQGSP_BERT.hh"
18
19
#include "G4EmProcessOptions.hh"
20
#include "G4UrbanMscModel93.hh"
21
22
QGSPCMS_BERT_EMX::QGSPCMS_BERT_EMX(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
23
const
HepPDT::ParticleDataTable
*
table_
,
24
sim::FieldBuilder
*fieldBuilder_,
25
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, fieldBuilder_, p) {
26
27
G4DataQuestionaire it(photon);
28
29
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
30
bool
emPhys = p.
getUntrackedParameter
<
bool
>(
"EMPhysics"
,
true
);
31
bool
hadPhys = p.
getUntrackedParameter
<
bool
>(
"HadPhysics"
,
true
);
32
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
33
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
34
<<
"QGSP_BERT_EMX 3.3 with Flags for EM Physics "
35
<< emPhys <<
", for Hadronic Physics "
36
<< hadPhys <<
" and tracking cut "
<< tracking;
37
38
if
(emPhys) {
39
// EM Physics
40
RegisterPhysics(
new
CMSEmStandardPhysics71
(
"standard EM v71"
,ver));
41
42
// Synchroton Radiation & GN Physics
43
RegisterPhysics(
new
G4EmExtraPhysics(
"extra EM"
));
44
}
45
46
// Decays
47
RegisterPhysics(
new
G4DecayPhysics(
"decay"
,ver) );
48
49
if
(hadPhys) {
50
// Hadron Elastic scattering
51
RegisterPhysics(
new
G4HadronElasticPhysics(
"elastic"
,ver,
false
));
52
53
// Hadron Physics
54
G4bool quasiElastic=
true
;
55
RegisterPhysics(
new
HadronPhysicsQGSP_BERT(
"hadron"
,quasiElastic));
56
57
// Stopping Physics
58
RegisterPhysics(
new
G4QStoppingPhysics(
"stopping"
));
59
60
// Ion Physics
61
RegisterPhysics(
new
G4IonPhysics(
"ion"
));
62
63
// Neutron tracking cut
64
if
(tracking)
65
RegisterPhysics(
new
G4NeutronTrackingCut(
"Neutron tracking cut"
, ver));
66
}
67
68
// Monopoles
69
RegisterPhysics(
new
CMSMonopolePhysics
(table_,fieldBuilder_,p));
70
71
if
(emPhys) {
72
G4EmProcessOptions opt;
73
opt.SetApplyCuts(
true
);
74
75
G4UrbanMscModel93* msc_el =
new
G4UrbanMscModel93();
76
G4UrbanMscModel93* msc_pos =
new
G4UrbanMscModel93();
77
msc_el->SetRangeFactor(0.04);
78
msc_pos->SetRangeFactor(0.04);
79
conf
.SetExtraEmModel(
"e-"
,
"msc"
,msc_el,
"HCAL"
,0.,100.*MeV);
80
conf
.SetExtraEmModel(
"e+"
,
"msc"
,msc_pos,
"HCAL"
,0.,100.*MeV);
81
}
82
}
83
84
void
QGSPCMS_BERT_EMX::SetCuts() {
85
86
PhysicsList::SetCuts
();
87
88
conf
.AddModels();
89
}
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
CMSEmStandardPhysics71.h
sim::FieldBuilder
Definition:
FieldBuilder.h:19
Association.map
dictionary map
Definition:
Association.py:205
PhysicsList
Definition:
PhysicsList.h:13
CMSEmStandardPhysics71
Definition:
CMSEmStandardPhysics71.h:8
PhysicsList::SetCuts
virtual void SetCuts()
Definition:
PhysicsList.cc:24
DDMapper< G4LogicalVolume *, DDLogicalPart >
dbtoconf.conf
tuple conf
Definition:
dbtoconf.py:185
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