CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DummyEMPhysics.cc
Go to the documentation of this file.
2 #include "G4EmParameters.hh"
3 #include "G4ParticleTable.hh"
4 
5 #include "G4ParticleDefinition.hh"
6 
7 #include "G4ComptonScattering.hh"
8 #include "G4GammaConversion.hh"
9 #include "G4PhotoElectricEffect.hh"
10 
11 #include "G4eMultipleScattering.hh"
12 #include "G4eIonisation.hh"
13 #include "G4eBremsstrahlung.hh"
14 #include "G4eplusAnnihilation.hh"
15 
16 #include "G4Gamma.hh"
17 #include "G4Electron.hh"
18 #include "G4Positron.hh"
19 #include "G4LeptonConstructor.hh"
20 
21 #include "G4PhysicsListHelper.hh"
22 #include "G4BuilderType.hh"
23 
24 #include "G4SystemOfUnits.hh"
25 
26 DummyEMPhysics::DummyEMPhysics(G4int ver) : G4VPhysicsConstructor("CMSEmGeantV"), verbose(ver) {
27  G4EmParameters* param = G4EmParameters::Instance();
28  param->SetDefaults();
29  param->SetVerbose(verbose);
30  param->SetApplyCuts(true);
31  param->SetStepFunction(0.8, 1 * CLHEP::mm);
32  param->SetLossFluctuations(false);
33  param->SetMscRangeFactor(0.2);
34  param->SetMscStepLimitType(fMinimal);
35  SetPhysicsType(bElectromagnetic);
36 }
37 
39  // gamma
40  G4Gamma::Gamma();
41 
42  // leptons
44  G4Positron::Positron();
45 
46  G4LeptonConstructor pLeptonConstructor;
47  pLeptonConstructor.ConstructParticle();
48 }
49 
51  if (verbose > 0) {
52  G4cout << "### " << GetPhysicsName() << " Construct Processes " << G4endl;
53  }
54 
55  // This EM builder takes GeantV variant of physics
56 
57  G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
58 
59  G4ParticleDefinition* particle = G4Gamma::Gamma();
60 
61  ph->RegisterProcess(new G4PhotoElectricEffect(), particle);
62  ph->RegisterProcess(new G4ComptonScattering(), particle);
63  ph->RegisterProcess(new G4GammaConversion(), particle);
64 
65  particle = G4Electron::Electron();
66 
67  ph->RegisterProcess(new G4eMultipleScattering(), particle);
68  ph->RegisterProcess(new G4eIonisation(), particle);
69  ph->RegisterProcess(new G4eBremsstrahlung(), particle);
70 
71  particle = G4Positron::Positron();
72 
73  ph->RegisterProcess(new G4eMultipleScattering(), particle);
74  ph->RegisterProcess(new G4eIonisation(), particle);
75  ph->RegisterProcess(new G4eBremsstrahlung(), particle);
76  ph->RegisterProcess(new G4eplusAnnihilation(), particle);
77 }
void ConstructParticle() override
bool verbose
void ConstructProcess() override
constexpr char Electron[]
Definition: modules.cc:12
DummyEMPhysics(G4int verb)