Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SimG4Core
PhysicsLists
plugins
FTFPCMS_BERT_XS_EML.cc
Go to the documentation of this file.
1
#include "FTFPCMS_BERT_XS_EML.hh"
2
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysicsXS.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 "G4StoppingPhysics.hh"
10
#include "G4HadronElasticPhysicsXS.hh"
11
#include "G4NeutronCrossSectionXS.hh"
12
#include "G4NeutronTrackingCut.hh"
13
#include "G4HadronicProcessStore.hh"
14
15
#include "G4DataQuestionaire.hh"
16
#include "G4HadronPhysicsFTFP_BERT.hh"
17
18
FTFPCMS_BERT_XS_EML::FTFPCMS_BERT_XS_EML(
G4LogicalVolumeToDDLogicalPartMap
&
map
,
19
const
HepPDT::ParticleDataTable
*
table_
,
20
sim::ChordFinderSetter
*chordFinderSetter_,
21
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, chordFinderSetter_, p) {
22
23
G4DataQuestionaire it(photon);
24
25
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
26
bool
emPhys = p.
getUntrackedParameter
<
bool
>(
"EMPhysics"
,
true
);
27
bool
hadPhys = p.
getUntrackedParameter
<
bool
>(
"HadPhysics"
,
true
);
28
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
29
double
timeLimit = p.
getParameter
<
double
>(
"MaxTrackTime"
)*ns;
30
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
31
<<
"FTFP_BERT_XS_EML \n Flags for EM Physics "
32
<< emPhys <<
", for Hadronic Physics "
33
<< hadPhys <<
" and tracking cut "
<< tracking
34
<<
" t(ns)= "
<< timeLimit/ns;
35
36
if
(emPhys) {
37
// EM Physics
38
RegisterPhysics(
new
CMSEmStandardPhysicsXS
(ver));
39
40
// Synchroton Radiation & GN Physics
41
G4EmExtraPhysics* gn =
new
G4EmExtraPhysics(ver);
42
RegisterPhysics(gn);
43
}
44
45
// Decays
46
this->RegisterPhysics(
new
G4DecayPhysics(ver) );
47
48
if
(hadPhys) {
49
G4HadronicProcessStore::Instance()->SetVerbose(ver);
50
51
// Hadron Elastic scattering
52
RegisterPhysics(
new
G4HadronElasticPhysicsXS(ver));
53
54
// Hadron Physics
55
RegisterPhysics(
new
G4HadronPhysicsFTFP_BERT(ver));
56
57
// Stopping Physics
58
RegisterPhysics(
new
G4StoppingPhysics(ver));
59
60
// Ion Physics
61
RegisterPhysics(
new
G4IonPhysics(ver));
62
63
RegisterPhysics(
new
G4NeutronCrossSectionXS(ver));
64
65
// Neutron tracking cut
66
if
(tracking) {
67
G4NeutronTrackingCut* ncut=
new
G4NeutronTrackingCut(ver);
68
ncut->SetTimeLimit(timeLimit);
69
RegisterPhysics(ncut);
70
}
71
}
72
73
// Monopoles
74
RegisterPhysics(
new
CMSMonopolePhysics
(table_,chordFinderSetter_,p));
75
}
76
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MessageLogger.h
sim::ChordFinderSetter
Definition:
ChordFinderSetter.h:8
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
CMSEmStandardPhysicsXS
Definition:
CMSEmStandardPhysicsXS.h:7
PhysicsList
Definition:
PhysicsList.h:15
python.multivaluedict.map
def map
Definition:
multivaluedict.py:125
CMSEmStandardPhysicsXS.h
DDMapper< G4LogicalVolume *, DDLogicalPart >
edm::LogInfo
Definition:
MessageLogger.h:214
table_
Table table_
Definition:
ExceptionActions.cc:22
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
CMSMonopolePhysics
Definition:
CMSMonopolePhysics.h:18
CMSMonopolePhysics.h
edm::ParameterSet
Definition:
ParameterSet.h:36
Generated for CMSSW Reference Manual by
1.8.5