Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
SimG4Core
PhysicsLists
plugins
QGSCCMS.cc
Go to the documentation of this file.
1
#include "QGSCCMS.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 "G4IonPhysics.hh"
9
#include "G4QStoppingPhysics.hh"
10
#include "G4HadronElasticPhysics.hh"
11
#include "G4NeutronTrackingCut.hh"
12
13
#include "G4DataQuestionaire.hh"
14
#include "SimG4Core/PhysicsLists/interface/HadronPhysicsQGSC.hh"
15
16
QGSCCMS::QGSCCMS(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
17
const
HepPDT::ParticleDataTable
*
table_
,
18
sim::FieldBuilder
*fieldBuilder_,
19
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, fieldBuilder_, p) {
20
21
G4DataQuestionaire it(photon);
22
23
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
24
bool
emPhys = p.
getUntrackedParameter
<
bool
>(
"EMPhysics"
,
true
);
25
bool
hadPhys = p.
getUntrackedParameter
<
bool
>(
"HadPhysics"
,
true
);
26
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
27
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
28
<<
"QGSC 4.4 with Flags for EM Physics "
29
<< emPhys <<
", for Hadronic Physics "
30
<< hadPhys <<
" and tracking cut "
<< tracking;
31
32
if
(emPhys) {
33
// EM Physics
34
RegisterPhysics(
new
CMSEmStandardPhysics
(
"standard EM"
,ver));
35
36
// Synchroton Radiation & GN Physics
37
RegisterPhysics(
new
G4EmExtraPhysics(
"extra EM"
));
38
}
39
40
// Decays
41
RegisterPhysics(
new
G4DecayPhysics(
"decay"
,ver) );
42
43
if
(hadPhys) {
44
// Hadron Elastic scattering
45
RegisterPhysics(
new
G4HadronElasticPhysics(
"elastic"
,ver));
46
47
// Hadron Physics
48
G4bool quasiElastic=
true
;
49
RegisterPhysics(
new
HadronPhysicsQGSC(
"hadron"
,quasiElastic));
50
51
// Stopping Physics
52
//RegisterPhysics( new G4QStoppingPhysics("stopping",ver));
53
RegisterPhysics(
new
G4QStoppingPhysics(
"stopping"
,ver,
false
));
54
55
// Ion Physics
56
RegisterPhysics(
new
G4IonPhysics(
"ion"
));
57
58
// Neutron tracking cut
59
if
(tracking)
60
RegisterPhysics(
new
G4NeutronTrackingCut(
"Neutron tracking cut"
, ver));
61
}
62
63
// Monopoles
64
RegisterPhysics(
new
CMSMonopolePhysics
(table_,fieldBuilder_,p));
65
}
66
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
Association.map
dictionary map
Definition:
Association.py:205
PhysicsList
Definition:
PhysicsList.h:13
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