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 // Class description: 27 // 28 // Description: Continuous Process to calculat 29 // fluctuations through G4EnergyL 30 31 // History: 32 // Created: 2007-05-12 33 // Author: Pedro Arce 34 // 35 // Modified: 36 // 37 38 #ifndef G4ErrorEnergyLoss_hh 39 #define G4ErrorEnergyLoss_hh 40 41 #include "globals.hh" 42 #include "G4VContinuousProcess.hh" 43 #include "G4ProcessType.hh" 44 45 class G4EnergyLossForExtrapolator; 46 47 class G4ErrorEnergyLoss : public G4VContinuous 48 { 49 50 public: 51 52 explicit G4ErrorEnergyLoss(const G4String& p 53 G4ProcessType typ 54 55 ~G4ErrorEnergyLoss() override; 56 57 G4bool IsApplicable(const G4ParticleDefiniti 58 // Returns true -> 'is applicable', for all 59 60 G4double GetContinuousStepLimit(const G4Trac 61 G4double, G4double currentMinimumSte 62 G4double& ) override; 63 64 G4VParticleChange* AlongStepDoIt(const G4Tra 65 const G4Step& aStep) override; 66 // This is the method implementing the energ 67 68 // Get and Set methods 69 inline G4double GetStepLimit() const { retur 70 inline void SetStepLimit( G4double val ) { t 71 72 // copy constructor and hide assignment oper 73 G4ErrorEnergyLoss(G4ErrorEnergyLoss &) = del 74 G4ErrorEnergyLoss & operator=(const G4ErrorE 75 76 private: 77 78 void InstantiateEforExtrapolator(); 79 80 G4EnergyLossForExtrapolator* theELossForExtr 81 82 G4double theStepLimit; 83 G4double theFractionLimit = 0.2; 84 }; 85 86 #endif 87