LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MyG4NeutronPHPBuilder.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 //
29 // 19.01.2021 D.Rivera: imported into artg4tk based on :
30 // geant4.10.06.p01/source/physics_lists/builder/include/G4NeutronPHPBuilder.hh
31 // Provide our own version of the G4ParticleCapture class for Argon.
32 //
33 //----------------------------------------------------------------------------
34 //
35 #ifndef artg4tk_lists_MyG4NeutronPHPBuilder_hh
36 #define artg4tk_lists_MyG4NeutronPHPBuilder_hh
37 
38 // -- artg4tk includes
40 
41 #include "Geant4/globals.hh"
42 
43 #include "Geant4/G4HadronCaptureProcess.hh"
44 #include "Geant4/G4HadronElasticProcess.hh"
45 #include "Geant4/G4HadronFissionProcess.hh"
46 #include "Geant4/G4NeutronInelasticProcess.hh"
47 #include "Geant4/G4VNeutronBuilder.hh"
48 
49 #include "Geant4/G4ParticleHPElastic.hh"
50 #include "Geant4/G4ParticleHPElasticData.hh"
51 #include "Geant4/G4ParticleHPFission.hh"
52 #include "Geant4/G4ParticleHPFissionData.hh"
53 #include "Geant4/G4ParticleHPInelastic.hh"
54 #include "Geant4/G4ParticleHPInelasticData.hh"
55 //#include "Geant4/G4ParticleHPCapture.hh"
56 #include "Geant4/G4ParticleHPCaptureData.hh"
57 
58 class MyG4NeutronPHPBuilder : public G4VNeutronBuilder {
59 public:
62 
63 public:
64  void Build(G4HadronElasticProcess* aP) final override;
65  void Build(G4HadronFissionProcess* aP) final override;
66  void Build(G4HadronCaptureProcess* aP) final override;
67  void Build(G4NeutronInelasticProcess* aP) final override;
68 
69  virtual void
70  SetMinEnergy(G4double aM) final override
71  {
72  theMin = aM;
73  theIMin = theMin;
74  }
75  void
76  SetMinInelasticEnergy(G4double aM)
77  {
78  theIMin = aM;
79  }
80  virtual void
81  SetMaxEnergy(G4double aM) final override
82  {
83  theIMax = aM;
84  theMax = aM;
85  }
86  void
87  SetMaxInelasticEnergy(G4double aM)
88  {
89  theIMax = aM;
90  }
91 
92  using G4VNeutronBuilder::Build; // Prevent compiler warning
93 
94 private:
95  G4double theMin;
96  G4double theIMin;
97  G4double theMax;
98  G4double theIMax;
99 
100  G4ParticleHPElastic* theHPElastic;
101  G4ParticleHPElasticData* theHPElasticData;
102  G4ParticleHPInelastic* theHPInelastic;
103  G4ParticleHPInelasticData* theHPInelasticData;
104  G4ParticleHPFission* theHPFission;
105  G4ParticleHPFissionData* theHPFissionData;
107  G4ParticleHPCaptureData* theHPCaptureData;
108 };
109 
110 #endif /* artg4tk_lists_MyG4NeutronPHPBuilder_hh */
G4ParticleHPFission * theHPFission
virtual void SetMinEnergy(G4double aM) final override
void Build(G4HadronElasticProcess *aP) final override
G4ParticleHPCaptureData * theHPCaptureData
G4ParticleHPInelasticData * theHPInelasticData
virtual void SetMaxEnergy(G4double aM) final override
G4ParticleHPFissionData * theHPFissionData
G4ParticleHPElasticData * theHPElasticData
G4ParticleHPInelastic * theHPInelastic
void SetMaxInelasticEnergy(G4double aM)
ArParticleHPCapture * theHPCapture
void SetMinInelasticEnergy(G4double aM)
G4ParticleHPElastic * theHPElastic