CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
CMSDarkPairProductionProcess Class Reference

#include <CMSDarkPairProductionProcess.h>

Inheritance diagram for CMSDarkPairProductionProcess:

Public Member Functions

 CMSDarkPairProductionProcess (G4double df=1E0, const G4String &processName="conv", G4ProcessType type=fElectromagnetic)
 
G4bool IsApplicable (const G4ParticleDefinition &) override
 
G4double MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *) override
 
 ~CMSDarkPairProductionProcess () override
 

Protected Member Functions

void InitialiseProcess (const G4ParticleDefinition *) override
 

Private Attributes

G4double darkFactor
 
G4bool isInitialised
 

Detailed Description

Definition at line 20 of file CMSDarkPairProductionProcess.h.

Constructor & Destructor Documentation

◆ CMSDarkPairProductionProcess()

CMSDarkPairProductionProcess::CMSDarkPairProductionProcess ( G4double  df = 1E0,
const G4String &  processName = "conv",
G4ProcessType  type = fElectromagnetic 
)

Definition at line 17 of file CMSDarkPairProductionProcess.cc.

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 }

References nanoDQM_cff::Electron.

◆ ~CMSDarkPairProductionProcess()

CMSDarkPairProductionProcess::~CMSDarkPairProductionProcess ( )
override

Definition at line 27 of file CMSDarkPairProductionProcess.cc.

27 {}

Member Function Documentation

◆ InitialiseProcess()

void CMSDarkPairProductionProcess::InitialiseProcess ( const G4ParticleDefinition *  p)
overrideprotected

Definition at line 34 of file CMSDarkPairProductionProcess.cc.

34  {
35  if (!isInitialised) {
36  isInitialised = true;
37 
38  AddEmModel(0, new CMSDarkPairProduction(p, darkFactor));
39  }
40 }

References darkFactor, isInitialised, and AlCaHLTBitMon_ParallelJobs::p.

◆ IsApplicable()

G4bool CMSDarkPairProductionProcess::IsApplicable ( const G4ParticleDefinition &  p)
override

Definition at line 29 of file CMSDarkPairProductionProcess.cc.

29  {
30  G4int pdg = std::abs(p.GetPDGEncoding());
31  return (pdg == 1023 || pdg == 1072000);
32 }

References funct::abs(), and AlCaHLTBitMon_ParallelJobs::p.

◆ MinPrimaryEnergy()

G4double CMSDarkPairProductionProcess::MinPrimaryEnergy ( const G4ParticleDefinition *  p,
const G4Material *   
)
override

Definition at line 42 of file CMSDarkPairProductionProcess.cc.

42  {
43  return std::max(2 * CLHEP::electron_mass_c2 - p->GetPDGMass(), 0.0);
44 }

References SiStripPI::max, and AlCaHLTBitMon_ParallelJobs::p.

Member Data Documentation

◆ darkFactor

G4double CMSDarkPairProductionProcess::darkFactor
private

Definition at line 40 of file CMSDarkPairProductionProcess.h.

Referenced by InitialiseProcess().

◆ isInitialised

G4bool CMSDarkPairProductionProcess::isInitialised
private

Definition at line 39 of file CMSDarkPairProductionProcess.h.

Referenced by InitialiseProcess().

AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
CMSDarkPairProduction
Definition: CMSDarkPairProduction.h:19
CMSDarkPairProductionProcess::isInitialised
G4bool isInitialised
Definition: CMSDarkPairProductionProcess.h:39
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition: SimL1EmulatorRepack_CalouGT_cff.py:17
nanoDQM_cff.Electron
Electron
Definition: nanoDQM_cff.py:62
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