CMS 3D CMS Logo

CMSDarkPairProductionProcess.h
Go to the documentation of this file.
1 //--------------------------------------------------------
2 // File name: CMSDarkPairProductionProcess
3 //
4 // Author: Dustin Stolp (dostolp@ucdavis.edu)
5 // Sushil S. Chauhan (schauhan@cern.ch)
6 // --------------------------------------------------------
7 #ifndef SimG4Core_CustomPhysics_CMSDarkPairProductionProcess_h
8 #define SimG4Core_CustomPhysics_CMSDarkPairProductionProcess_h
9 
11 #include "globals.hh"
12 #include "G4VEmProcess.hh"
13 #include "G4Gamma.hh"
14 
15 class G4ParticleDefinition;
16 class G4VEmModel;
17 class G4MaterialCutsCouple;
18 class G4DynamicParticle;
19 
20 class CMSDarkPairProductionProcess : public G4VEmProcess
21 
22 {
23 public: // with description
24  CMSDarkPairProductionProcess(G4double df = 1E0,
25  const G4String& processName = "conv",
26  G4ProcessType type = fElectromagnetic);
27 
29 
30  // true for Gamma only.
31  G4bool IsApplicable(const G4ParticleDefinition&) override;
32 
33  G4double MinPrimaryEnergy(const G4ParticleDefinition*, const G4Material*) override;
34 
35 protected:
36  void InitialiseProcess(const G4ParticleDefinition*) override;
37 
38 private:
39  G4bool isInitialised;
40  G4double darkFactor;
41 };
42 
43 #endif
CMSDarkPairProductionProcess(G4double df=1E0, const G4String &processName="conv", G4ProcessType type=fElectromagnetic)
void InitialiseProcess(const G4ParticleDefinition *) override
G4double MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *) override
G4bool IsApplicable(const G4ParticleDefinition &) override