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
}
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
Definition:
ParameterSet.h:47
CMSHadronPhysicsFTFP_BERT.h
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
CustomPhysics.h
tracking
Definition:
TempMeasurements.h:8
Generated for CMSSW Reference Manual by
1.8.14