Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
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/CMSEmStandardPhysics95msc93.h
"
5
#include "
SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.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 "G4DataQuestionaire.hh"
16
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
17
#include "G4SystemOfUnits.hh"
18
19
CustomPhysics::CustomPhysics
(
G4LogicalVolumeToDDLogicalPartMap
& map,
20
const
HepPDT::ParticleDataTable
*
table_
,
21
sim::ChordFinderSetter
*chordFinderSetter_,
22
const
edm::ParameterSet
&
p
) :
PhysicsList
(map, table_, chordFinderSetter_, p) {
23
24
G4DataQuestionaire it(photon);
25
26
int
ver = p.
getUntrackedParameter
<
int
>(
"Verbosity"
,0);
27
bool
tracking= p.
getParameter
<
bool
>(
"TrackingCut"
);
28
bool
ssPhys = p.
getUntrackedParameter
<
bool
>(
"ExoticaPhysicsSS"
,
false
);
29
double
timeLimit = p.
getParameter
<
double
>(
"MaxTrackTime"
)*ns;
30
edm::LogInfo
(
"PhysicsList"
) <<
"You are using the simulation engine: "
31
<<
"QGSP_FTFP_BERT_EML for regular particles \n"
32
<<
"CustomPhysicsList "
<< ssPhys <<
" for exotics; "
33
<<
" tracking cut "
<< tracking <<
" t(ns)= "
<< timeLimit/ns;
34
// EM Physics
35
RegisterPhysics(
new
CMSEmStandardPhysics
(ver));
36
//RegisterPhysics(new CMSEmStandardPhysics95msc93("EM standard msc93",ver,""));
37
38
// Synchroton Radiation & GN Physics
39
RegisterPhysics(
new
G4EmExtraPhysics(ver));
40
41
// Decays
42
RegisterPhysics(
new
G4DecayPhysics(ver));
43
44
// Hadron Elastic scattering
45
RegisterPhysics(
new
G4HadronElasticPhysics(ver));
46
47
// Hadron Physics
48
RegisterPhysics(
new
G4HadronPhysicsQGSP_FTFP_BERT(ver));
49
50
// Stopping Physics
51
RegisterPhysics(
new
G4StoppingPhysics(ver));
52
53
// Ion Physics
54
RegisterPhysics(
new
G4IonPhysics(ver));
55
56
// Neutron tracking cut
57
if
(tracking) {
58
G4NeutronTrackingCut* ncut=
new
G4NeutronTrackingCut(ver);
59
ncut->SetTimeLimit(timeLimit);
60
RegisterPhysics(ncut);
61
}
62
63
// Custom Physics
64
if
(ssPhys) {
65
RegisterPhysics(
new
CustomPhysicsListSS
(
"custom"
,p));
66
}
else
{
67
RegisterPhysics(
new
CustomPhysicsList
(
"custom"
,p));
68
}
69
}
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MessageLogger.h
CMSEmStandardPhysics95msc93.h
sim::ChordFinderSetter
Definition:
ChordFinderSetter.h:8
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
CustomPhysicsListSS
Definition:
CustomPhysicsListSS.h:15
CustomPhysicsList.h
CMSEmStandardPhysics
Definition:
CMSEmStandardPhysics.h:7
PhysicsList
Definition:
PhysicsList.h:14
CustomPhysicsList
Definition:
CustomPhysicsList.h:15
DDMapper< G4LogicalVolume *, DDLogicalPart >
CustomPhysicsListSS.h
CMSEmStandardPhysics.h
edm::LogInfo
Definition:
MessageLogger.h:214
table_
Table table_
Definition:
ExceptionActions.cc:22
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
edm::ParameterSet
Definition:
ParameterSet.h:36
CustomPhysics::CustomPhysics
CustomPhysics(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
Definition:
CustomPhysics.cc:19
CustomPhysics.h
Generated for CMSSW Reference Manual by
1.8.5