Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // ------------------------------------------- 28 // 29 // GEANT4 Class header file 30 // 31 // 32 // File name: G4eDPWACoulombScatteringMode 33 // 34 // Author: Mihaly Novak 35 // 36 // Creation date: 02.07.2020 37 // 38 // Modifications: 39 // 40 // Class Description: 41 // 42 // e-/e+ Coulomb scattering model based on num 43 // (DCS) obtained by Dirac Partial Wave Analys 44 // G4eDPWAElasticDCS class. 45 // The model contains the possibility to incor 46 // deflections of sub-threshold ionisation int 47 // the condensed history model. Note, this mus 48 // `isscpcor` input argument of the CTR to fal 49 // with a classical, event by event based simu 50 // condensed history approach (otherwise, the 51 // will be "double counted"). 52 // 53 // ------------------------------------------- 54 55 56 57 #ifndef G4eDPWACoulombScatteringModel_h 58 #define G4eDPWACoulombScatteringModel_h 1 59 60 #include "G4VEmModel.hh" 61 #include "globals.hh" 62 63 class G4eDPWAElasticDCS; 64 class G4ParticleChangeForGamma; 65 class G4ParticleDefinition; 66 class G4DataVector; 67 68 class G4eDPWACoulombScatteringModel : public G 69 70 public: 71 72 /** 73 * Constructor. 74 * 75 * @param[in] ismixed Indicates if the mode 76 * Coulomb scattering. D 77 * pared for sampling po 78 * for mixed and for pur 79 * of the polar scatteri 80 * restriced inteval (se 81 * @param[in] isscpcor Indicates if scatteri 82 * Note, scattering powe 83 * angular deflections d 84 * when ionisation is de 85 * model (should be acti 86 * @param[in] mumin When the model is use 87 * scatterings, resultin 88 * deflection, modelled 89 * sections are computed 90 * sampled ina resricted 91 * minimum of this inter 92 * parameter as: 93 * \mu_{min} = \mu(\thet 94 */ 95 G4eDPWACoulombScatteringModel(G4bool ismixed 96 G4double mumin 97 98 ~G4eDPWACoulombScatteringModel() override; 99 100 // 101 // Interface methods: 102 103 void Initialise(const G4ParticleDefiniti 104 105 void InitialiseLocal(const G4ParticleDef 106 107 G4double ComputeCrossSectionPerAtom(const G4 108 G4double 109 G4double 110 111 void SampleSecondaries(std::vector<G4Dyn 112 const G4MaterialC 113 const G4DynamicPa 114 G4double tmin, 115 G4double maxEnerg 116 117 G4double MinPrimaryEnergy(const G4Material*, 118 G4double) override 119 120 void SetTheDCS(G4eDPWAElasticDCS* theDCS 121 122 G4eDPWAElasticDCS* GetTheDCS() { return fThe 123 124 125 private: 126 127 // Indicates if the model is mixed: MSC for 128 // Scattering(SS) for hard scatterings(theta 129 // Note, that while the model provides restr 130 // cross sections, it's responsible to handl 131 // only for the Singe Scattering part in cas 132 G4bool fIsMixedModel; 133 // indicates if scattering power correction 134 // to deflection in case of sub-threshold, i 135 // case of condensed history simulation of i 136 G4bool fIsScpCorrection; 137 // mu(theta)=0.5[1-cos(theta)]: the model po 138 G4double fMuMin; 139 // the object that provides cross sections a 140 G4eDPWAElasticDCS* fTheDCS; 141 // particle change 142 G4ParticleChangeForGamma* fParticleChange; 143 144 }; 145 146 #endif 147