Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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/PhysicsLists/interface/CMSEmStandardPhysics92.h
"
6
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
7
8
#include "G4DecayPhysics.hh"
9
#include "G4EmExtraPhysics.hh"
10
#include "G4IonPhysics.hh"
11
#include "G4QStoppingPhysics.hh"
12
#include "G4HadronElasticPhysics.hh"
13
#include "G4NeutronTrackingCut.hh"
14
15
#include "G4DataQuestionaire.hh"
16
#include "
SimGeneral/GFlash/interface/GflashHistogram.h
"
17
18
GFlash::GFlash
(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
19
const
HepPDT::ParticleDataTable
*
table_
,
20
sim::FieldBuilder
*fieldBuilder_,
21
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, fieldBuilder_, p),
22
thePar(p.getParameter<edm::
ParameterSet
>(
"GFlash"
)) {
23
24
G4DataQuestionaire it(photon);
25
26
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
27
std::string region = p.
getParameter
<std::string>(
"Region"
);
28
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
29
<<
"QGSP_BERT_EML 3.3 + CMS GFLASH with"
30
<<
" special region "
<< region;
31
32
RegisterPhysics(
new
ParametrisedPhysics
(
"parametrised"
,
thePar
));
33
34
// EM Physics
35
RegisterPhysics(
new
CMSEmStandardPhysics92
(
"standard EM EML"
,ver,region));
36
37
// Synchroton Radiation & GN Physics
38
RegisterPhysics(
new
G4EmExtraPhysics(
"extra EM"
));
39
40
// Decays
41
RegisterPhysics(
new
G4DecayPhysics(
"decay"
,ver));
42
43
// Hadron Elastic scattering
44
RegisterPhysics(
new
G4HadronElasticPhysics(
"elastic"
,ver,
false
));
45
46
// Hadron Physics
47
G4bool quasiElastic=
true
;
48
std::string hadronPhysics =
thePar
.
getParameter
<std::string>(
"GflashHadronPhysics"
);
49
if
(hadronPhysics==
"QGSP_BERT"
) {
50
RegisterPhysics(
new
HadronPhysicsQGSP_BERT_WP
(
"hadron"
,quasiElastic));
51
}
52
else
if
(hadronPhysics==
"QGSP"
) {
53
RegisterPhysics(
new
HadronPhysicsQGSP_WP
(
"hadron"
,quasiElastic));
54
}
55
else
{
56
edm::LogInfo
(
"PhysicsList"
) << hadronPhysics <<
" is not available for GflashHadronPhysics!"
57
<<
"... Using QGSP_BERT\n"
;
58
RegisterPhysics(
new
HadronPhysicsQGSP_BERT_WP
(
"hadron"
,quasiElastic));
59
}
60
61
// Stopping Physics
62
RegisterPhysics(
new
G4QStoppingPhysics(
"stopping"
));
63
64
// Ion Physics
65
RegisterPhysics(
new
G4IonPhysics(
"ion"
));
66
67
// Neutron tracking cut
68
RegisterPhysics(
new
G4NeutronTrackingCut(
"Neutron tracking cut"
, ver));
69
70
71
// singleton histogram object
72
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
73
theHisto
=
GflashHistogram::instance
();
74
theHisto
->
setStoreFlag
(
true
);
75
theHisto
->
bookHistogram
(
thePar
.
getParameter
<std::string>(
"GflashHistogramName"
));
76
}
77
78
}
79
80
GFlash::~GFlash
() {
81
/*
82
if(thePar.getParameter<bool>("GflashHistogram")) {
83
if(theHisto) delete theHisto;
84
}
85
*/
86
}
87
88
//define this as a plug-in
89
#include "
FWCore/Framework/interface/MakerMacros.h
"
90
#include "
SimG4Core/Physics/interface/PhysicsListFactory.h
"
91
92
93
DEFINE_PHYSICSLIST
(
GFlash
);
94
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:80
GflashHistogram::instance
static GflashHistogram * instance()
Definition:
GflashHistogram.cc:5
MessageLogger.h
DEFINE_PHYSICSLIST
#define DEFINE_PHYSICSLIST(type)
Definition:
PhysicsListFactory.h:12
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:9
ParameterSet
Definition:
Functions.h:16
CMSEmStandardPhysics92
Definition:
CMSEmStandardPhysics92.h:9
GFlash::GFlash
GFlash(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::FieldBuilder *fieldBuilder_, const edm::ParameterSet &p)
Definition:
GFlash.cc:18
MakerMacros.h
GFlash
Definition:
GFlash.h:11
HadronPhysicsQGSP_WP
Definition:
HadronPhysicsQGSP_WP.h:67
HadronPhysicsQGSP_BERT_WP.h
sim::FieldBuilder
Definition:
FieldBuilder.h:19
Association.map
dictionary map
Definition:
Association.py:160
PhysicsList
Definition:
PhysicsList.h:13
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
HadronPhysicsQGSP_BERT_WP
Definition:
HadronPhysicsQGSP_BERT_WP.h:70
ParametrisedPhysics.h
DDMapper< G4LogicalVolume *, DDLogicalPart >
edm::LogInfo
Definition:
MessageLogger.h:205
CMSEmStandardPhysics92.h
L1TEmulatorMonitor_cff.p
tuple p
Definition:
L1TEmulatorMonitor_cff.py:48
GFlash.h
edm::ParameterSet
Definition:
ParameterSet.h:31
PhysicsListFactory.h
HadronPhysicsQGSP_WP.h
table_
Table table_
Definition:
Actions.cc:23
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