CMS 3D CMS Logo

G4muDarkBremsstrahlung.cc
Go to the documentation of this file.
4 
5 //Geant 4
6 #include "G4MuonMinus.hh"
7 #include "G4MuonPlus.hh"
8 #include "G4LossTableManager.hh"
9 
10 using namespace std;
11 
13  const G4double biasFactor,
14  const G4String& name)
15  : G4VEmProcess(name), isInitialised(false), mgfile(scalefile), cxBias(biasFactor) {
16  G4int subtype = 40;
17  SetProcessSubType(subtype);
18  SetSecondaryParticle(G4APrime::APrime());
19 }
20 
22 
23 G4bool G4muDarkBremsstrahlung::IsApplicable(const G4ParticleDefinition& p) {
24  return (&p == G4MuonPlus::MuonPlus() || &p == G4MuonMinus::MuonMinus());
25 }
26 
27 void G4muDarkBremsstrahlung::InitialiseProcess(const G4ParticleDefinition*) {
28  if (!isInitialised) {
29  AddEmModel(0, new G4muDarkBremsstrahlungModel(mgfile, cxBias));
30 
31  isInitialised = true;
32  isEnabled = true;
33  }
34 }
35 
37  ((G4muDarkBremsstrahlungModel*)EmModel(1))->SetMethod(method_in);
38  return;
39 }
40 
42 
44  isEnabled = state;
45  return;
46 }
void SetMethod(std::string method_in)
Class creating the A' particle in Geant.
void InitialiseProcess(const G4ParticleDefinition *) override
Class provided to simulate the dark brem cross section and interaction.
Class providing the Dark Bremsstrahlung process class.
static G4APrime * APrime(double apmass=1000)
Definition: G4APrime.cc:43
G4muDarkBremsstrahlung(const G4String &scalefile, const G4double biasFactor, const G4String &name="muDBrem")
G4bool IsApplicable(const G4ParticleDefinition &p) override