Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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/GFlash/interface/HadronPhysicsQGSP_WP.h
"
4
#include "
SimG4Core/GFlash/interface/HadronPhysicsQGSP_BERT_WP.h
"
5
#include "
SimG4Core/GFlash/interface/HadronPhysicsQGSPCMS_FTFP_BERT_WP.h
"
6
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics95msc93.h
"
7
#include "
SimG4Core/PhysicsLists/interface/CMSMonopolePhysics.h
"
8
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
9
10
#include "G4DecayPhysics.hh"
11
#include "G4EmExtraPhysics.hh"
12
#include "G4IonPhysics.hh"
13
#include "G4StoppingPhysics.hh"
14
#include "G4HadronElasticPhysics.hh"
15
#include "G4NeutronTrackingCut.hh"
16
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
17
18
#include "G4DataQuestionaire.hh"
19
#include "
SimGeneral/GFlash/interface/GflashHistogram.h
"
20
21
#include <string>
22
23
GFlash::GFlash
(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
24
const
HepPDT::ParticleDataTable
*
table_
,
25
sim::FieldBuilder
*fieldBuilder_,
26
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, fieldBuilder_, p),
27
thePar(p.getParameter<edm::
ParameterSet
>(
"GFlash"
)) {
28
29
G4DataQuestionaire it(photon);
30
31
//std::string hadronPhysics = thePar.getParameter<std::string>("GflashHadronPhysics");
32
33
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
34
bool
emPhys = p.
getUntrackedParameter
<
bool
>(
"EMPhysics"
,
true
);
35
bool
hadPhys = p.
getUntrackedParameter
<
bool
>(
"HadPhysics"
,
true
);
36
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
37
std::string
region = p.
getParameter
<
std::string
>(
"Region"
);
38
bool
gem =
thePar
.
getParameter
<
bool
>(
"GflashEMShowerModel"
);
39
bool
ghad =
thePar
.
getParameter
<
bool
>(
"GflashHadronShowerModel"
);
40
41
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
42
<<
" + CMS GFLASH with Flags for EM Physics "
43
<< gem <<
", for Hadronic Physics "
44
<< ghad
45
<<
" and tracking cut "
<< tracking
46
<<
" with special region "
<< region;
47
48
RegisterPhysics(
new
ParametrisedPhysics
(
"parametrised"
,
thePar
));
49
50
if
(emPhys) {
51
// EM Physics
52
RegisterPhysics(
new
CMSEmStandardPhysics95msc93
(
"EM standard msc93"
,ver,region));
53
54
// Synchroton Radiation & GN Physics
55
RegisterPhysics(
new
G4EmExtraPhysics(ver));
56
}
57
58
// Decays
59
RegisterPhysics(
new
G4DecayPhysics(ver) );
60
61
if
(hadPhys) {
62
// Hadron Elastic scattering
63
RegisterPhysics(
new
G4HadronElasticPhysics(ver));
64
65
// Hadron Physics
66
RegisterPhysics(
new
G4HadronPhysicsQGSP_FTFP_BERT(ver));
67
// Stopping Physics
68
RegisterPhysics(
new
G4StoppingPhysics(ver));
69
70
// Ion Physics
71
RegisterPhysics(
new
G4IonPhysics(ver));
72
73
// Neutron tracking cut
74
if
(tracking) {
75
RegisterPhysics(
new
G4NeutronTrackingCut(ver));
76
}
77
/*
78
if(hadronPhysics=="QGSP_FTFP_BERT") {
79
RegisterPhysics( new HadronPhysicsQGSPCMS_FTFP_BERT_WP("hadron",quasiElastic));
80
}
81
else if(hadronPhysics=="QGSP_BERT") {
82
RegisterPhysics( new HadronPhysicsQGSP_BERT_WP("hadron",quasiElastic));
83
}
84
else if (hadronPhysics=="QGSP") {
85
RegisterPhysics( new HadronPhysicsQGSP_WP("hadron",quasiElastic));
86
}
87
else {
88
edm::LogInfo("PhysicsList") << hadronPhysics << " is not available for GflashHadronPhysics!"
89
<< "... Using QGSP_FTFP_BERT\n";
90
RegisterPhysics( new HadronPhysicsQGSPCMS_FTFP_BERT_WP("hadron",quasiElastic));
91
}
92
// Stopping Physics
93
RegisterPhysics( new G4QStoppingPhysics("stopping"));
94
95
// Ion Physics
96
RegisterPhysics( new G4IonPhysics("ion"));
97
98
// Neutron tracking cut
99
if (tracking)
100
RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));
101
*/
102
}
103
104
// Monopoles
105
RegisterPhysics(
new
CMSMonopolePhysics
(table_,fieldBuilder_,p));
106
107
// singleton histogram object
108
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
109
theHisto
=
GflashHistogram::instance
();
110
theHisto
->
setStoreFlag
(
true
);
111
theHisto
->
bookHistogram
(
thePar
.
getParameter
<
std::string
>(
"GflashHistogramName"
));
112
}
113
114
}
115
116
GFlash::~GFlash
() {
117
118
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
119
if
(
theHisto
)
delete
theHisto
;
120
}
121
122
}
123
124
//define this as a plug-in
125
#include "
FWCore/Framework/interface/MakerMacros.h
"
126
#include "
SimG4Core/Physics/interface/PhysicsListFactory.h
"
127
128
129
DEFINE_PHYSICSLIST
(
GFlash
);
130
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
GFlash::~GFlash
virtual ~GFlash()
Definition:
GFlash.cc:116
GflashHistogram::instance
static GflashHistogram * instance()
Definition:
GflashHistogram.cc:5
MessageLogger.h
DEFINE_PHYSICSLIST
#define DEFINE_PHYSICSLIST(type)
Definition:
PhysicsListFactory.h:12
CMSEmStandardPhysics95msc93.h
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
ParameterSet
Definition:
Functions.h:16
GFlash::GFlash
GFlash(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::FieldBuilder *fieldBuilder_, const edm::ParameterSet &p)
Definition:
GFlash.cc:23
MakerMacros.h
GFlash
Definition:
GFlash.h:11
HadronPhysicsQGSP_BERT_WP.h
sim::FieldBuilder
Definition:
FieldBuilder.h:19
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
PhysicsList
Definition:
PhysicsList.h:13
python.multivaluedict.map
def map
Definition:
multivaluedict.py:125
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:13
ParametrisedPhysics.h
DDMapper< G4LogicalVolume *, DDLogicalPart >
edm::LogInfo
Definition:
MessageLogger.h:214
HadronPhysicsQGSPCMS_FTFP_BERT_WP.h
table_
Table table_
Definition:
ExceptionActions.cc:22
CMSEmStandardPhysics95msc93
Definition:
CMSEmStandardPhysics95msc93.h:9
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
CMSMonopolePhysics
Definition:
CMSMonopolePhysics.h:15
CMSMonopolePhysics.h
GFlash.h
edm::ParameterSet
Definition:
ParameterSet.h:35
PhysicsListFactory.h
HadronPhysicsQGSP_WP.h
GFlash::theHisto
GflashHistogram * theHisto
Definition:
GFlash.h:18
GflashHistogram::setStoreFlag
void setStoreFlag(bool flag)
Definition:
GflashHistogram.h:26
GflashHistogram.h
Generated for CMSSW Reference Manual by
1.8.5