CMS 3D CMS Logo

CMSmplIonisation.h
Go to the documentation of this file.
1 //
2 // -------------------------------------------------------------------
3 //
4 // GEANT4 Class header file
5 //
6 //
7 // File name: CMSmplIonisation
8 //
9 // Author: Vladimir Ivanchenko copied from Geant4 10.5p01
10 //
11 // Creation date: 02.03.2019
12 //
13 // Class Description:
14 //
15 // This class manages the ionisation process for a magnetic monopole
16 // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLossProcess.
17 // Magnetic charge of the monopole should be defined in the constructor of
18 // the process, unless it is assumed that it is classic Dirac monopole with
19 // the charge 67.5*eplus. The name of the particle should be "monopole".
20 //
21 
22 // -------------------------------------------------------------------
23 //
24 
25 #ifndef CMSmplIonisation_h
26 #define CMSmplIonisation_h 1
27 
28 #include "G4VEnergyLossProcess.hh"
29 #include "globals.hh"
30 #include "G4VEmModel.hh"
31 
32 class G4Material;
33 class G4VEmFluctuationModel;
34 
35 class CMSmplIonisation : public G4VEnergyLossProcess {
36 public:
37  explicit CMSmplIonisation(G4double mCharge = 0.0, const G4String& name = "mplIoni");
38 
39  ~CMSmplIonisation() override;
40 
41  G4bool IsApplicable(const G4ParticleDefinition& p) override;
42 
43  G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut) final;
44 
45  // Print out of the class parameters
46  void PrintInfo() override;
47 
48  // print description in html
49  void ProcessDescription(std::ostream&) const override;
50 
51 protected:
52  void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*) override;
53 
54 private:
55  G4double magneticCharge;
56  G4bool isInitialised;
57 };
58 
59 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
60 
61 #endif
CMSmplIonisation(G4double mCharge=0.0, const G4String &name="mplIoni")
G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut) final
void PrintInfo() override
void ProcessDescription(std::ostream &) const override
void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *) override
~CMSmplIonisation() override
G4bool IsApplicable(const G4ParticleDefinition &p) override