test
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/PhysicsLists/interface/CMSEmStandardPhysics95msc93.h
"
4
#include "
SimG4Core/PhysicsLists/interface/CMSMonopolePhysics.h
"
5
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
6
7
#include "G4DecayPhysics.hh"
8
#include "G4EmExtraPhysics.hh"
9
#include "G4IonPhysics.hh"
10
#include "G4StoppingPhysics.hh"
11
#include "G4HadronElasticPhysics.hh"
12
#include "G4NeutronTrackingCut.hh"
13
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
14
15
#include "G4DataQuestionaire.hh"
16
#include "
SimGeneral/GFlash/interface/GflashHistogram.h
"
17
18
#include <string>
19
20
GFlash::GFlash
(
G4LogicalVolumeToDDLogicalPartMap
& map,
21
const
HepPDT::ParticleDataTable
*
table_
,
22
sim::ChordFinderSetter
*chordFinderSetter_,
23
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, chordFinderSetter_, p),
24
thePar(p.getParameter<edm::
ParameterSet
>(
"GFlash"
)) {
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
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
32
std::string
region
= p.
getParameter
<
std::string
>(
"Region"
);
33
34
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the obsolete simulation engine: "
35
<<
" GFlash with Flags for EM Physics "
36
<< emPhys <<
", for Hadronic Physics "
37
<< hadPhys
38
<<
" and tracking cut "
<< tracking
39
<<
" with special region "
<<
region
;
40
41
RegisterPhysics(
new
ParametrisedPhysics
(
"parametrised"
,
thePar
));
42
43
if
(emPhys) {
44
// EM Physics
45
RegisterPhysics(
new
CMSEmStandardPhysics95msc93
(
"EM standard msc93"
,ver,region));
46
47
// Synchroton Radiation & GN Physics
48
RegisterPhysics(
new
G4EmExtraPhysics(ver));
49
}
50
51
// Decays
52
RegisterPhysics(
new
G4DecayPhysics(ver) );
53
54
if
(hadPhys) {
55
// Hadron Elastic scattering
56
RegisterPhysics(
new
G4HadronElasticPhysics(ver));
57
58
// Hadron Physics
59
RegisterPhysics(
new
G4HadronPhysicsQGSP_FTFP_BERT(ver));
60
// Stopping Physics
61
RegisterPhysics(
new
G4StoppingPhysics(ver));
62
63
// Ion Physics
64
RegisterPhysics(
new
G4IonPhysics(ver));
65
66
// Neutron tracking cut
67
if
(tracking) {
68
RegisterPhysics(
new
G4NeutronTrackingCut(ver));
69
}
70
}
71
72
// Monopoles
73
RegisterPhysics(
new
CMSMonopolePhysics
(table_,chordFinderSetter_,p));
74
75
// singleton histogram object
76
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
77
theHisto
=
GflashHistogram::instance
();
78
theHisto
->
setStoreFlag
(
true
);
79
theHisto
->
bookHistogram
(
thePar
.
getParameter
<
std::string
>(
"GflashHistogramName"
));
80
}
81
}
82
83
GFlash::~GFlash
() {
84
85
if
(
thePar
.
getParameter
<
bool
>(
"GflashHistogram"
)) {
86
if
(
theHisto
)
delete
theHisto
;
87
}
88
89
}
90
91
//define this as a plug-in
92
#include "
FWCore/Framework/interface/MakerMacros.h
"
93
#include "
SimG4Core/Physics/interface/PhysicsListFactory.h
"
94
95
96
DEFINE_PHYSICSLIST
(
GFlash
);
97
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:83
GflashHistogram::instance
static GflashHistogram * instance()
Definition:
GflashHistogram.cc:5
GFlash::GFlash
GFlash(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
Definition:
GFlash.cc:20
MessageLogger.h
DEFINE_PHYSICSLIST
#define DEFINE_PHYSICSLIST(type)
Definition:
PhysicsListFactory.h:12
CMSEmStandardPhysics95msc93.h
sim::ChordFinderSetter
Definition:
ChordFinderSetter.h:8
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
GflashHistogram.h
ParameterSet
Definition:
Functions.h:16
MakerMacros.h
GFlash
Definition:
GFlash.h:11
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
PhysicsList
Definition:
PhysicsList.h:14
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
HLT_25ns10e33_v2_cff.region
tuple region
Definition:
HLT_25ns10e33_v2_cff.py:61599
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:18
CMSMonopolePhysics.h
GFlash.h
edm::ParameterSet
Definition:
ParameterSet.h:36
PhysicsListFactory.h
GFlash::theHisto
GflashHistogram * theHisto
Definition:
GFlash.h:18
GflashHistogram::setStoreFlag
void setStoreFlag(bool flag)
Definition:
GflashHistogram.h:26
Generated for CMSSW Reference Manual by
1.8.5