SimG4Core
CustomPhysics
src
CMSDarkPairProductionProcess.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// Authors of this file: Dustin Stolp (dostolp@ucdavis.edu)
4
// Sushil S. Chauhan (schauhan@cern.ch)
5
//
6
// -----------------------------------------------------------------------------
7
8
#include "
SimG4Core/CustomPhysics/interface/CMSDarkPairProductionProcess.h
"
9
#include "G4PhysicalConstants.hh"
10
#include "G4SystemOfUnits.hh"
11
#include "G4BetheHeitlerModel.hh"
12
#include "G4PairProductionRelModel.hh"
13
#include "G4Electron.hh"
14
15
using namespace
std
;
16
17
CMSDarkPairProductionProcess::CMSDarkPairProductionProcess
(G4double
df
,
const
G4String&
processName
, G4ProcessType
type
)
18
: G4VEmProcess(
processName
,
type
), isInitialised(
false
), darkFactor(
df
) {
19
SetMinKinEnergy(2.0 * electron_mass_c2);
20
SetProcessSubType(fGammaConversion);
21
SetStartFromNullFlag(
true
);
22
SetBuildTableFlag(
true
);
23
SetSecondaryParticle(
G4Electron::Electron
());
24
SetLambdaBinning(220);
25
}
26
27
CMSDarkPairProductionProcess::~CMSDarkPairProductionProcess
() {}
28
29
G4bool
CMSDarkPairProductionProcess::IsApplicable
(
const
G4ParticleDefinition&
p
) {
30
G4int
pdg
=
std::abs
(
p
.GetPDGEncoding());
31
return
(
pdg
== 1023 ||
pdg
== 1072000);
32
}
33
34
void
CMSDarkPairProductionProcess::InitialiseProcess
(
const
G4ParticleDefinition*
p
) {
35
if
(!
isInitialised
) {
36
isInitialised
=
true
;
37
38
AddEmModel(0,
new
CMSDarkPairProduction
(
p
,
darkFactor
));
39
}
40
}
41
42
G4double
CMSDarkPairProductionProcess::MinPrimaryEnergy
(
const
G4ParticleDefinition*
p
,
const
G4Material*) {
43
return
std::max
(2 * CLHEP::electron_mass_c2 -
p
->GetPDGMass(), 0.0);
44
}
CMSDarkPairProductionProcess::~CMSDarkPairProductionProcess
~CMSDarkPairProductionProcess() override
Definition:
CMSDarkPairProductionProcess.cc:27
funct::false
false
Definition:
Factorize.h:29
CMSDarkPairProductionProcess::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override
Definition:
CMSDarkPairProductionProcess.cc:29
CMSDarkPairProductionProcess::CMSDarkPairProductionProcess
CMSDarkPairProductionProcess(G4double df=1E0, const G4String &processName="conv", G4ProcessType type=fElectromagnetic)
Definition:
CMSDarkPairProductionProcess.cc:17
CMSDarkPairProductionProcess.h
CMSDarkPairProductionProcess::InitialiseProcess
void InitialiseProcess(const G4ParticleDefinition *) override
Definition:
CMSDarkPairProductionProcess.cc:34
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
SiStripPI::max
Definition:
SiStripPayloadInspectorHelper.h:169
type
type
Definition:
SiPixelVCal_PayloadInspector.cc:39
CMSDarkPairProduction
Definition:
CMSDarkPairProduction.h:19
CMSDarkPairProductionProcess::isInitialised
G4bool isInitialised
Definition:
CMSDarkPairProductionProcess.h:39
CMSDarkPairProductionProcess::MinPrimaryEnergy
G4double MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *) override
Definition:
CMSDarkPairProductionProcess.cc:42
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition:
SimL1EmulatorRepack_CalouGT_cff.py:17
nanoDQM_cff.Electron
Electron
Definition:
nanoDQM_cff.py:95
std
Definition:
JetResolutionObject.h:76
hgcalPerformanceValidation.df
df
Definition:
hgcalPerformanceValidation.py:733
CMSDarkPairProductionProcess::darkFactor
G4double darkFactor
Definition:
CMSDarkPairProductionProcess.h:40
pdg
Definition:
pdg_functions.h:28
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
Generated for CMSSW Reference Manual by
1.8.16