Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/lowenergy/include/G4hNuclearStoppingModel.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/electromagnetic/lowenergy/include/G4hNuclearStoppingModel.hh (Version 11.3.0) and /processes/electromagnetic/lowenergy/include/G4hNuclearStoppingModel.hh (Version 3.0)


                                                   >>   1 // This code implementation is the intellectual property of
                                                   >>   2 // the GEANT4 collaboration.
  1 //                                                  3 //
  2 // ******************************************* <<   4 // By copying, distributing or modifying the Program (or any work
  3 // * License and Disclaimer                    <<   5 // based on the Program) you indicate your acceptance of this statement,
  4 // *                                           <<   6 // and all its terms.
  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 //                                                  7 //
 27 // -------------------------------------------      8 // -------------------------------------------------------------------
 28 //                                                  9 //
 29 // GEANT4 Class file                               10 // GEANT4 Class file
 30 //                                                 11 //
                                                   >>  12 // For information related to this code contact:
                                                   >>  13 // Geant4 Collaboration
 31 //                                                 14 //
 32 // File name:     G4hNuclearStoppingModel          15 // File name:     G4hNuclearStoppingModel
 33 //                                                 16 //
 34 // Author:        V.Ivanchenko (Vladimir.Ivanc     17 // Author:        V.Ivanchenko (Vladimir.Ivanchenko@cern.ch)
 35 //                                                 18 // 
 36 // Creation date: 20 July 2000                     19 // Creation date: 20 July 2000
 37 //                                                 20 //
 38 // Modifications:                                  21 // Modifications: 
 39 // 20/07/2000  V.Ivanchenko First implementati     22 // 20/07/2000  V.Ivanchenko First implementation
 40 //                                                 23 //
 41 // Class Description:                              24 // Class Description: 
 42 //                                                 25 //
 43 // Low energy hadrons/ions ionisation paramete     26 // Low energy hadrons/ions ionisation parameterisation
 44 // Further documentation available from http:/ <<  27 // Further documentation available from http://www.ge.infn.it/geant4/lowE//
 45                                                    28 
 46 // -------------------------------------------     29 // -------------------------------------------------------------------
 47 //                                                 30 //
 48                                                    31 
 49 #ifndef G4hNuclearStoppingModel_h                  32 #ifndef G4hNuclearStoppingModel_h
 50 #define G4hNuclearStoppingModel_h 1                33 #define G4hNuclearStoppingModel_h 1
 51                                                    34 
 52 #include "globals.hh"                          << 
 53 #include "G4VLowEnergyModel.hh"                    35 #include "G4VLowEnergyModel.hh"
 54 #include "G4VhNuclearStoppingPower.hh"             36 #include "G4VhNuclearStoppingPower.hh"
 55                                                    37 
 56 class G4ParticleDefinition;                    << 
 57 class G4Material;                              << 
 58 class G4DynamicParticle;                       << 
 59                                                << 
 60 class G4hNuclearStoppingModel : public G4VLowE     38 class G4hNuclearStoppingModel : public G4VLowEnergyModel
 61 {                                                  39 {
                                                   >>  40 
 62 public:                                            41 public:
 63                                                    42 
 64   explicit G4hNuclearStoppingModel(const G4Str <<  43   G4hNuclearStoppingModel(const G4String& name);
 65                                                    44 
 66   ~G4hNuclearStoppingModel() ;                     45   ~G4hNuclearStoppingModel() ;
 67                                                    46 
 68   G4double TheValue(const G4DynamicParticle* p     47   G4double TheValue(const G4DynamicParticle* particle,
 69               const G4Material* material) over <<  48               const G4Material* material);
 70                                                    49 
 71   G4double TheValue(const G4ParticleDefinition     50   G4double TheValue(const G4ParticleDefinition* aParticle,
 72               const G4Material* material,          51               const G4Material* material,
 73                           G4double kineticEner <<  52                           G4double kineticEnergy);
 74                                                    53 
 75   G4double HighEnergyLimit(const G4ParticleDef <<  54   G4double HighEnergyLimit(const G4ParticleDefinition* aParticle,
 76                            const G4Material* ) <<  55                            const G4Material* material) const
 77   {return highEnergyLimit;};                   <<  56                           {return highEnergyLimit;};
 78                                                    57  
 79   G4double LowEnergyLimit(const G4ParticleDefi <<  58   G4double LowEnergyLimit(const G4ParticleDefinition* aParticle,
 80                           const G4Material* )  <<  59                           const G4Material* material) const
 81   {return lowEnergyLimit;};                    <<  60                           {return lowEnergyLimit;};
 82                                                    61 
 83   G4double HighEnergyLimit(const G4ParticleDef <<  62   G4double HighEnergyLimit(const G4ParticleDefinition* aParticle) const
 84   {return highEnergyLimit;};                   <<  63                           {return highEnergyLimit;};
 85                                                    64  
 86   G4double LowEnergyLimit(const G4ParticleDefi <<  65   G4double LowEnergyLimit(const G4ParticleDefinition* aParticle) const
 87   {return lowEnergyLimit;};                    <<  66                           {return lowEnergyLimit;};
 88                                                    67  
 89   G4bool IsInCharge(const G4DynamicParticle* , <<  68   G4bool IsInCharge(const G4DynamicParticle* particle,
 90         const G4Material* ) const override     <<  69         const G4Material* material) const
 91   {return true;};                              <<  70                           {return true;};
 92                                                <<  71 
 93   G4bool IsInCharge(const G4ParticleDefinition <<  72   G4bool IsInCharge(const G4ParticleDefinition* aParticle,
 94         const G4Material* ) const override     <<  73         const G4Material* material) const
 95   {return true;};                              <<  74                           {return true;};
 96                                                    75 
 97   void SetNuclearStoppingFluctuationsOn()          76   void SetNuclearStoppingFluctuationsOn() 
 98   {nStopingPowerTable->SetNuclearStoppingFluct <<  77                {nStopingPowerTable->SetNuclearStoppingFluctuationsOn();}; 
 99                                                    78 
100   void SetNuclearStoppingFluctuationsOff()         79   void SetNuclearStoppingFluctuationsOff() 
101   {nStopingPowerTable->SetNuclearStoppingFluct <<  80                {nStopingPowerTable->SetNuclearStoppingFluctuationsOff();}; 
                                                   >>  81 
102                                                    82 
103   G4hNuclearStoppingModel(G4hNuclearStoppingMo <<  83 protected:
104   G4hNuclearStoppingModel & operator=(const G4 << 
105                                                    84 
106 private:                                           85 private:
                                                   >>  86 
                                                   >>  87   // hide  assignment operator 
                                                   >>  88   G4hNuclearStoppingModel(G4hNuclearStoppingModel &);
                                                   >>  89   G4hNuclearStoppingModel & operator=(const G4hNuclearStoppingModel &right);
                                                   >>  90 
107   void InitializeMe();                             91   void InitializeMe();
108                                                    92 
109   G4double StoppingPower(const G4Material* mat     93   G4double StoppingPower(const G4Material* material,
110                                G4double kineti     94                                G4double kineticEnergy,
111                                G4double z1,        95                                G4double z1,
112                                G4double m1) co     96                                G4double m1) const;
113                                                    97 
114   // Pointer to the parametrisation class          98   // Pointer to the parametrisation class
115   G4VhNuclearStoppingPower* nStopingPowerTable     99   G4VhNuclearStoppingPower* nStopingPowerTable;
116   G4String modelName;                          << 
117                                                   100 
118   G4double factorPDG2AMU;    // Factor to conv    101   G4double factorPDG2AMU;    // Factor to convert PDG mass unit
119                              // into AMU          102                              // into AMU
120                                                   103 
121   G4double theZieglerFactor; // Factor to conv    104   G4double theZieglerFactor; // Factor to convert the Stopping Power 
122                              // unit [ev/(10^1    105                              // unit [ev/(10^15 atoms/cm^2]
123                              // into the Geant << 106                              // into the Geant4 dE/dx unit
                                                   >> 107   G4String modelName;
124   G4double lowEnergyLimit;                        108   G4double lowEnergyLimit;
125   G4double highEnergyLimit;                       109   G4double highEnergyLimit;
126 };                                                110 };
127                                                   111 
128 #endif                                            112 #endif
129                                                   113