CMS 3D CMS Logo

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 
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 
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 
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