Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4DNAVacuumModel.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27
28#ifndef G4DNAVacuumModel_h
29#define G4DNAVacuumModel_h 1
30
32#include "G4Electron.hh"
34#include "G4NistManager.hh"
37#include "G4Proton.hh"
38#include "G4VDNAModel.hh"
39
40/*!
41 * \brief The G4DNAVacuumModel class
42 * Implementation of the vacuum model allowing the user to use G4_Galactic as void in a
43 * Geant4-DNA simulation.
44 */
46{
47 public:
48 /*!
49 * \brief G4DNAVacuumModel
50 * Constructor
51 * \param applyToMaterial
52 * \param p
53 * \param nam
54 */
55 G4DNAVacuumModel(const G4String& applyToMaterial = "all", const G4ParticleDefinition* p = nullptr,
56 const G4String& nam = "DNAPTBVacuumModel");
57
58 /*!
59 * \brief ~G4DNAVacuumModel
60 * Destructor
61 */
62 ~G4DNAVacuumModel() override;
63
64 G4DNAVacuumModel(const G4DNAVacuumModel&) = delete; // prevent copy-construction
65 G4DNAVacuumModel& operator=(const G4DNAVacuumModel& right) = delete; // prevent assignement
66
67 /*!
68 * \brief Initialise
69 * Registers the G4_Galactic material as "void material" for every particle
70 */
71 void Initialise(const G4ParticleDefinition*, const G4DataVector&) override;
72
73 /*!
74 * \brief CrossSectionPerVolume
75 * \param material
76 * \param materialName
77 * \param p
78 * \param ekin
79 * \param emin
80 * \param emax
81 * \return cross section value
82 */
84 const G4ParticleDefinition* p, G4double ekin, G4double emin, G4double emax) override;
85
86 /*!
87 * \brief SampleSecondaries
88 * \param materialName
89 * \param particleChangeForGamma
90 * \param tmin
91 * \param tmax
92 */
93 void SampleSecondaries(std::vector<G4DynamicParticle*>*, const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double tmax) override;
94
95 private:
96 G4int verboseLevel = 0; ///< verbose level
97
98};
99
100//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
101
102#endif
double G4double
Definition G4Types.hh:83
int G4int
Definition G4Types.hh:85
The G4DNAVacuumModel class Implementation of the vacuum model allowing the user to use G4_Galactic as...
G4DNAVacuumModel(const G4DNAVacuumModel &)=delete
G4DNAVacuumModel & operator=(const G4DNAVacuumModel &right)=delete
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double tmax) override
SampleSecondaries.
G4DNAVacuumModel(const G4String &applyToMaterial="all", const G4ParticleDefinition *p=nullptr, const G4String &nam="DNAPTBVacuumModel")
G4DNAVacuumModel Constructor.
~G4DNAVacuumModel() override
~G4DNAVacuumModel Destructor
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
Initialise Registers the G4_Galactic material as "void material" for every particle.
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
CrossSectionPerVolume.
The G4VDNAModel class.