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
return
(
p
.GetParticleType() ==
"darkpho"
);
31
}
32
33
void
CMSDarkPairProductionProcess::InitialiseProcess
(
const
G4ParticleDefinition*
p
) {
34
if
(!
isInitialised
) {
35
isInitialised
=
true
;
36
37
AddEmModel(0,
new
CMSDarkPairProduction
(
p
,
darkFactor
));
38
}
39
}
40
41
G4double
CMSDarkPairProductionProcess::MinPrimaryEnergy
(
const
G4ParticleDefinition*,
const
G4Material*) {
42
return
2 * electron_mass_c2;
43
}
44
45
void
CMSDarkPairProductionProcess::PrintInfo
() {}
CMSDarkPairProductionProcess::~CMSDarkPairProductionProcess
~CMSDarkPairProductionProcess() override
Definition:
CMSDarkPairProductionProcess.cc:27
funct::false
false
Definition:
Factorize.h:34
CMSDarkPairProductionProcess::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override
Definition:
CMSDarkPairProductionProcess.cc:29
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
CMSDarkPairProductionProcess::CMSDarkPairProductionProcess
CMSDarkPairProductionProcess(G4double df=1E0, const G4String &processName="conv", G4ProcessType type=fElectromagnetic)
Definition:
CMSDarkPairProductionProcess.cc:17
CMSDarkPairProductionProcess::PrintInfo
void PrintInfo() override
Definition:
CMSDarkPairProductionProcess.cc:45
CMSDarkPairProductionProcess.h
CMSDarkPairProductionProcess::InitialiseProcess
void InitialiseProcess(const G4ParticleDefinition *) override
Definition:
CMSDarkPairProductionProcess.cc:33
CMSDarkPairProduction
Definition:
CMSDarkPairProduction.h:19
CMSDarkPairProductionProcess::isInitialised
G4bool isInitialised
Definition:
CMSDarkPairProductionProcess.h:42
CMSDarkPairProductionProcess::MinPrimaryEnergy
G4double MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *) override
Definition:
CMSDarkPairProductionProcess.cc:41
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition:
SimL1EmulatorRepack_CalouGT_cff.py:17
nanoDQM_cff.Electron
Electron
Definition:
nanoDQM_cff.py:62
type
type
Definition:
HCALResponse.h:21
std
Definition:
JetResolutionObject.h:76
CMSDarkPairProductionProcess::darkFactor
G4double darkFactor
Definition:
CMSDarkPairProductionProcess.h:43
Generated for CMSSW Reference Manual by
1.8.16