Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
SimG4Core
CustomPhysics
src
CustomPhysics.cc
Go to the documentation of this file.
1
#include "
SimG4Core/CustomPhysics/interface/CustomPhysics.h
"
2
#include "
SimG4Core/CustomPhysics/interface/CustomPhysicsList.h
"
3
#include "
SimG4Core/CustomPhysics/interface/CustomPhysicsListSS.h
"
4
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h
"
5
#include "
SimG4Core/PhysicsLists/interface/CMSHadronPhysicsFTFP_BERT.h
"
6
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
7
8
#include "G4DecayPhysics.hh"
9
#include "G4EmExtraPhysics.hh"
10
#include "G4IonPhysics.hh"
11
#include "G4StoppingPhysics.hh"
12
#include "G4HadronElasticPhysics.hh"
13
#include "G4NeutronTrackingCut.hh"
14
15
#include "G4SystemOfUnits.hh"
16
17
CustomPhysics::CustomPhysics
(
const
edm::ParameterSet
&
p
) :
PhysicsList
(p) {
18
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
, 0);
19
bool
tracking = p.
getParameter
<
bool
>(
"TrackingCut"
);
20
bool
ssPhys = p.
getUntrackedParameter
<
bool
>(
"ExoticaPhysicsSS"
,
false
);
21
double
timeLimit = p.
getParameter
<
double
>(
"MaxTrackTime"
) * ns;
22
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
23
<<
"FTFP_BERT_EMM for regular particles \n"
24
<<
"CustomPhysicsList "
<< ssPhys <<
" for exotics; "
25
<<
" tracking cut "
<< tracking <<
" t(ns)= "
<< timeLimit / ns;
26
// EM Physics
27
RegisterPhysics(
new
CMSEmStandardPhysics
(ver, p));
28
29
// Synchroton Radiation & GN Physics
30
RegisterPhysics(
new
G4EmExtraPhysics(ver));
31
32
// Decays
33
RegisterPhysics(
new
G4DecayPhysics(ver));
34
35
// Hadron Elastic scattering
36
RegisterPhysics(
new
G4HadronElasticPhysics(ver));
37
38
// Hadron Physics
39
RegisterPhysics(
new
CMSHadronPhysicsFTFP_BERT
(ver));
40
41
// Stopping Physics
42
RegisterPhysics(
new
G4StoppingPhysics(ver));
43
44
// Ion Physics
45
RegisterPhysics(
new
G4IonPhysics(ver));
46
47
// Neutron tracking cut
48
if
(tracking) {
49
G4NeutronTrackingCut* ncut =
new
G4NeutronTrackingCut(ver);
50
ncut->SetTimeLimit(timeLimit);
51
RegisterPhysics(ncut);
52
}
53
54
// Custom Physics
55
if
(ssPhys) {
56
RegisterPhysics(
new
CustomPhysicsListSS
(
"custom"
, p));
57
}
else
{
58
RegisterPhysics(
new
CustomPhysicsList
(
"custom"
, p));
59
}
60
}
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
CMSHadronPhysicsFTFP_BERT
Definition:
CMSHadronPhysicsFTFP_BERT.h:23
MessageLogger.h
CustomPhysicsListSS
Definition:
CustomPhysicsListSS.h:11
CustomPhysicsList.h
CMSEmStandardPhysics
Definition:
CMSEmStandardPhysics.h:17
PhysicsList
Definition:
PhysicsList.h:7
CustomPhysicsList
Definition:
CustomPhysicsList.h:12
CustomPhysics::CustomPhysics
CustomPhysics(const edm::ParameterSet &p)
Definition:
CustomPhysics.cc:17
CustomPhysicsListSS.h
CMSEmStandardPhysics.h
edm::LogInfo
Log< level::Info, false > LogInfo
Definition:
MessageLogger.h:125
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
edm::ParameterSet
Definition:
ParameterSet.h:47
CMSHadronPhysicsFTFP_BERT.h
CustomPhysics.h
Generated for CMSSW Reference Manual by
1.8.5