Belle II Software development
G4mplIonisation.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9// modified from GEANT4 exoticphysics/monopole/*
10
11#pragma once
12
13#include <G4VEnergyLossProcess.hh>
14#include <globals.hh>
15
16class G4Material;
17
18namespace Belle2 {
24 namespace Monopoles {
25
32 class G4mplIonisation : public G4VEnergyLossProcess {
33
34 public:
35
41 explicit G4mplIonisation(G4double mCharge = 0.0,
42 const G4String& name = "mplIoni");
43
47 virtual ~G4mplIonisation();
48
54 virtual G4bool IsApplicable(const G4ParticleDefinition& p) override;
55
59 virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
60 const G4Material*, G4double cut) final;
61
66 G4mplIonisation& operator=(const G4mplIonisation& right) = delete;
71 G4mplIonisation(const G4mplIonisation& copy) = delete;
72
73 protected:
74
81 virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition* p,
82 const G4ParticleDefinition*) override;
83
84 private:
85
86 G4double magneticCharge;
89 };
90
91 } //end Monopoles namespace
92
94} //end Belle2 namespace
Monopole ionisation class.
G4double magneticCharge
Monopole charge, in e+ units.
virtual ~G4mplIonisation()
Destructor.
G4mplIonisation & operator=(const G4mplIonisation &right)=delete
Assignment operator should be hidden.
G4mplIonisation(const G4mplIonisation &copy)=delete
Copy constructor should be hidden.
G4bool isInitialised
Is the process initialised.
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *p, const G4ParticleDefinition *) override
G4VEnergyLossProcess::InitialiseEnergyLossProcess() implementation.
virtual G4bool IsApplicable(const G4ParticleDefinition &p) override
Dummy to check if the proccess is is applicable to a certain particle.
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut) final
Threshold for zero value.
Abstract base class for different kinds of events.