Ignore:
Timestamp:
Apr 20, 2009, 5:54:05 PM (15 years ago)
Author:
garnier
Message:

update to geant4.9.2

Location:
trunk/source/processes/electromagnetic/standard
Files:
89 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/standard/History

    r1005 r1007  
    1 $Id: History,v 1.432 2009/02/20 12:11:37 vnivanch Exp $
     1$Id: History,v 1.430 2008/11/24 18:28:09 vnivanch Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
    19 
    20 20 February 09: V.Ivant (emstand-V09-02-00)
    21 - Move all virtual methods from inline to source
    22 G4PEEffectModel - substitute ComputeMeanFreePath by CrossSectionPerVolume
    23                   (minor CPU speadup for compound materials)
    24 G4PAIModel, G4PAIPhotonModel - remove usage of random numbers at
    25                    initialisation (potential non-reproducibility)
    26 G4WentzelVIModel - use generic methods of G4VMscModel to access safety
    27                    and other geometry information
    2819
    292024 November 08: V.Ivant (emstand-V09-01-45)
  • trunk/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh

    r1006 r1007  
    2525//
    2626// $Id: G4ASTARStopping.hh,v 1.6 2008/11/13 12:04:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929#ifndef G4ASTARStopping_h
  • trunk/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BetheBlochModel.hh,v 1.17 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BetheBlochModel.hh,v 1.16 2008/10/22 16:00:57 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8282  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    8383
    84   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    85                                 const G4MaterialCutsCouple*);
     84  G4double MinEnergyCut(const G4ParticleDefinition*,
     85                        const G4MaterialCutsCouple*);
    8686                       
    8787  virtual G4double ComputeCrossSectionPerElectron(
     
    131131protected:
    132132
    133   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    134                                       G4double kinEnergy);
     133  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     134                              G4double kinEnergy);
    135135
    136136private:
     
    166166//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    167167
     168inline G4double G4BetheBlochModel::MaxSecondaryEnergy(
     169          const G4ParticleDefinition* pd,
     170                G4double kinEnergy)
     171{
     172  if(isIon) SetParticle(pd);
     173  G4double tau  = kinEnergy/mass;
     174  G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
     175                  (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
     176  return std::min(tmax,tlimit);
     177}
     178
     179//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     180
    168181#endif
  • trunk/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh

    r1006 r1007  
    2525//
    2626// $Id: G4BetheHeitlerModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4BohrFluctuations.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BohrFluctuations.hh,v 1.4 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BohrFluctuations.hh,v 1.3 2007/09/27 13:53:11 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7979  void InitialiseMe(const G4ParticleDefinition*);
    8080
     81protected:
     82
    8183private:
    8284
     
    101103//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    102104
     105
     106inline G4double G4BohrFluctuations::Dispersion(
     107                          const G4Material* material,
     108                          const G4DynamicParticle* dp,
     109                                G4double& tmax,
     110                                G4double& length)
     111{
     112  if(!particle) InitialiseMe(dp->GetDefinition());
     113
     114  G4double electronDensity = material->GetElectronDensity();
     115  kineticEnergy = dp->GetKineticEnergy();
     116  G4double etot = kineticEnergy + particleMass;
     117  beta2 = kineticEnergy*(kineticEnergy + 2.0*particleMass)/(etot*etot);
     118  G4double siga  = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length
     119                 * electronDensity * chargeSquare;
     120
     121  return siga;
     122}
     123
     124//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     125
    103126#endif
    104127
  • trunk/source/processes/electromagnetic/standard/include/G4BraggIonModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BraggIonModel.hh,v 1.12 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BraggIonModel.hh,v 1.11 2008/10/22 16:00:57 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7777  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7878
    79   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    80                                 const G4MaterialCutsCouple*);
     79  G4double MinEnergyCut(const G4ParticleDefinition*,
     80                        const G4MaterialCutsCouple*);
    8181                       
    8282  virtual G4double ComputeCrossSectionPerElectron(
     
    128128protected:
    129129
    130   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    131                                       G4double kinEnergy);
     130  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     131                              G4double kinEnergy);
    132132
    133133private:
     
    180180//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    181181
     182inline G4double G4BraggIonModel::MaxSecondaryEnergy(
     183          const G4ParticleDefinition* pd,
     184                G4double kinEnergy)
     185{
     186  if(pd != particle) SetParticle(pd);
     187  G4double tau  = kinEnergy/mass;
     188  G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
     189                  (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
     190  return tmax;
     191}
     192
     193//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     194
    182195inline void G4BraggIonModel::SetParticle(const G4ParticleDefinition* p)
    183196{
  • trunk/source/processes/electromagnetic/standard/include/G4BraggModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BraggModel.hh,v 1.13 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BraggModel.hh,v 1.12 2008/09/14 17:11:48 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8080  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    8181
    82   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    83                                 const G4MaterialCutsCouple*);
     82  G4double MinEnergyCut(const G4ParticleDefinition*,
     83                        const G4MaterialCutsCouple*);
    8484                       
    8585  virtual G4double ComputeCrossSectionPerElectron(
     
    131131protected:
    132132
    133   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    134                                       G4double kinEnergy);
     133  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     134                              G4double kinEnergy);
    135135
    136136private:
    137137
    138   inline void SetParticle(const G4ParticleDefinition* p);
     138  void SetParticle(const G4ParticleDefinition* p);
    139139
    140140  G4bool HasMaterial(const G4Material* material);
     
    182182  G4bool   isInitialised;
    183183};
     184
     185//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     186
     187inline G4double G4BraggModel::MaxSecondaryEnergy(
     188                                            const G4ParticleDefinition* pd,
     189                                                  G4double kinEnergy)
     190{
     191  if(pd != particle) SetParticle(pd);
     192  G4double tau  = kinEnergy/mass;
     193  G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
     194                  (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
     195  return tmax;
     196}
    184197
    185198//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh

    r1005 r1007  
    2525//
    2626//
    27 // $Id: G4ComptonScattering.hh,v 1.21 2009/02/20 12:06:37 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4ComptonScattering.hh,v 1.20 2007/05/23 08:47:34 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//------------------ G4ComptonScattering physics process -----------------------
     
    8282
    8383  // true for Gamma only. 
    84   virtual G4bool IsApplicable(const G4ParticleDefinition&);
     84  G4bool IsApplicable(const G4ParticleDefinition&);
    8585 
    8686  // Print few lines of informations about the process: validity range,
    8787  virtual void PrintInfo();
     88
    8889
    8990protected:
     
    9697};
    9798
     99//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     100//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     101
     102inline
     103G4bool G4ComptonScattering::IsApplicable(const G4ParticleDefinition& p)
     104{
     105  return (&p == G4Gamma::Gamma());
     106}
     107
    98108//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    99109 
  • trunk/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh

    r1006 r1007  
    2626//
    2727// $Id: G4ComptonScattering52.hh,v 1.4 2007/05/16 14:00:56 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//------------------ G4ComptonScattering52 physics process -----------------------
  • trunk/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4CoulombScattering.hh,v 1.12 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4CoulombScattering.hh,v 1.11 2008/06/13 08:19:43 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    104104//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    105105
     106inline G4bool G4CoulombScattering::IsApplicable(const G4ParticleDefinition& p)
     107{
     108  return (p.GetPDGCharge() != 0.0 && !p.IsShortLived());
     109}
     110
     111//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     112
    106113inline void G4CoulombScattering::SetThetaMin(G4double val)
    107114{
  • trunk/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh

    r1006 r1007  
    2525//
    2626// $Id: G4CoulombScatteringModel.hh,v 1.15 2008/07/31 13:11:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4GammaConversion.hh

    r1005 r1007  
    2525//
    2626//
    27 // $Id: G4GammaConversion.hh,v 1.23 2009/02/20 12:06:37 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4GammaConversion.hh,v 1.22 2007/05/23 08:47:34 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
     
    8585
    8686  // true for Gamma only.
    87   virtual G4bool IsApplicable(const G4ParticleDefinition&);
     87  G4bool IsApplicable(const G4ParticleDefinition&);
    8888
    8989  // Print few lines of informations about the process: validity range,
     
    9999};
    100100
     101//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     102//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     103
     104inline G4bool G4GammaConversion::IsApplicable(const G4ParticleDefinition& p)
     105{
     106  return (&p == G4Gamma::Gamma());
     107}
     108
    101109//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    102110 
  • trunk/source/processes/electromagnetic/standard/include/G4InitXscPAI.hh

    r1006 r1007  
    2626//
    2727// $Id: G4InitXscPAI.hh,v 1.8 2006/06/29 19:50:22 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/include/G4IonFluctuations.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4IonFluctuations.hh,v 1.9 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4IonFluctuations.hh,v 1.8 2008/10/22 16:04:33 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8484
    8585  // Initialisation prestep
    86   void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2);
     86  inline void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2);
    8787
    8888private:
     
    117117//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    118118
     119inline
     120void G4IonFluctuations::SetParticleAndCharge(const G4ParticleDefinition* part,
     121                                             G4double q2)
     122{
     123  if(part != particle) {
     124    particle       = part;
     125    particleMass   = part->GetPDGMass();
     126    charge         = part->GetPDGCharge()/eplus;
     127    chargeSquare   = charge*charge;
     128  }
     129  effChargeSquare  = q2;
     130  uniFluct.SetParticleAndCharge(part, q2);
     131}
     132
     133//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     134
    119135#endif
    120136
  • trunk/source/processes/electromagnetic/standard/include/G4KleinNishinaCompton.hh

    r1006 r1007  
    2525//
    2626// $Id: G4KleinNishinaCompton.hh,v 1.9 2007/05/22 17:34:36 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MollerBhabhaModel.hh,v 1.20 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MollerBhabhaModel.hh,v 1.19 2007/05/22 17:34:36 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7474  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7575
    76   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    77                                 const G4MaterialCutsCouple*);
     76  G4double MinEnergyCut(const G4ParticleDefinition*,
     77                        const G4MaterialCutsCouple*);
    7878                               
    7979  virtual G4double ComputeCrossSectionPerElectron(
     
    109109protected:
    110110
    111   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    112                                       G4double kinEnergy);
     111  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     112                              G4double kinEnergy);
    113113                             
    114   inline void SetParticle(const G4ParticleDefinition* p);                             
     114  void SetParticle(const G4ParticleDefinition* p);                           
    115115
    116116  const G4ParticleDefinition* particle;
     
    127127  G4MollerBhabhaModel & operator=(const  G4MollerBhabhaModel &right);
    128128  G4MollerBhabhaModel(const  G4MollerBhabhaModel&);
    129 
    130   G4bool   isInitialised;
    131 
    132129};
    133130
    134131//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    135132
    136 inline void G4MollerBhabhaModel::SetParticle(const G4ParticleDefinition* p)
     133inline G4double G4MollerBhabhaModel::MaxSecondaryEnergy(
     134                                                   const G4ParticleDefinition*,
     135                                                         G4double kinEnergy)
    137136{
    138   particle = p;
    139   if(p != theElectron) isElectron = false;
     137  G4double tmax = kinEnergy;
     138  if(isElectron) tmax *= 0.5;
     139  return tmax;
    140140}
    141141
  • trunk/source/processes/electromagnetic/standard/include/G4MscModel71.hh

    r1006 r1007  
    2525//
    2626// $Id: G4MscModel71.hh,v 1.5 2007/05/22 17:34:36 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh

    r1006 r1007  
    2525//
    2626// $Id: G4MultipleScattering.hh,v 1.36 2008/03/10 10:39:21 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh

    r1006 r1007  
    2525//
    2626// $Id: G4MultipleScattering71.hh,v 1.6 2008/07/16 11:27:41 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
     
    5959//
    6060// $Id: G4MultipleScattering71.hh,v 1.6 2008/07/16 11:27:41 vnivanch Exp $
    61 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     61// GEANT4 tag $Name: geant4-09-02 $
    6262
    6363// class description
  • trunk/source/processes/electromagnetic/standard/include/G4PAIModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PAIModel.hh,v 1.22 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
    2826//
    2927// -------------------------------------------------------------------
     
    7775  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7876
    79   virtual void InitialiseMe(const G4ParticleDefinition*);
    80 
    81   virtual G4double ComputeDEDXPerVolume(const G4Material*,
     77  virtual void InitialiseMe(const G4ParticleDefinition*) {};
     78
     79  virtual G4double ComputeDEDX(const G4MaterialCutsCouple*,
    8280                               const G4ParticleDefinition*,
    8381                               G4double kineticEnergy,
    8482                               G4double cutEnergy);
    8583
    86   virtual G4double CrossSectionPerVolume(const G4Material*,
     84  virtual G4double CrossSection(const G4MaterialCutsCouple*,
    8785                                const G4ParticleDefinition*,
    8886                                G4double kineticEnergy,
     
    120118
    121119  void SetVerboseLevel(G4int verbose){fVerbose=verbose;};
     120
     121
    122122
    123123protected:
     
    192192};
    193193
     194/////////////////////////////////////////////////////////////////////
     195
     196inline G4double G4PAIModel::MaxSecondaryEnergy( const G4ParticleDefinition* p,
     197                                                      G4double kinEnergy)
     198{
     199  G4double tmax = kinEnergy;
     200  if(p == fElectron) tmax *= 0.5;
     201  else if(p != fPositron) {
     202    G4double mass = p->GetPDGMass();
     203    G4double ratio= electron_mass_c2/mass;
     204    G4double gamma= kinEnergy/mass + 1.0;
     205    tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) /
     206                  (1. + 2.0*gamma*ratio + ratio*ratio);
     207  }
     208  return tmax;
     209}
     210
     211///////////////////////////////////////////////////////////////
     212
     213inline  void G4PAIModel::DefineForRegion(const G4Region* r)
     214{
     215  fPAIRegionVector.push_back(r);
     216}
     217
    194218#endif
    195219
  • trunk/source/processes/electromagnetic/standard/include/G4PAIPhotonModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PAIPhotonModel.hh,v 1.12 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
    2826//
    2927// -------------------------------------------------------------------
     
    7674  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7775 
    78   virtual void InitialiseMe(const G4ParticleDefinition*);
    79 
    80   virtual G4double ComputeDEDXPerVolume(const G4Material*,
    81                                         const G4ParticleDefinition*,
    82                                         G4double kineticEnergy,
    83                                         G4double cutEnergy);
    84 
    85   virtual G4double CrossSectionPerVolume(const G4Material*,
    86                                          const G4ParticleDefinition*,
    87                                          G4double kineticEnergy,
    88                                          G4double cutEnergy,
    89                                          G4double maxEnergy);
     76  virtual void InitialiseMe(const G4ParticleDefinition*) {};
     77
     78  virtual G4double ComputeDEDX(const G4MaterialCutsCouple*,
     79                               const G4ParticleDefinition*,
     80                               G4double kineticEnergy,
     81                               G4double cutEnergy);
     82
     83  virtual G4double CrossSection(const G4MaterialCutsCouple*,
     84                                const G4ParticleDefinition*,
     85                                G4double kineticEnergy,
     86                                G4double cutEnergy,
     87                                G4double maxEnergy);
    9088
    9189  virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
     
    124122                             G4double position, G4int iTransfer );
    125123
     124
     125
    126126protected:
    127127
    128128  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    129                               G4double kinEnergy);
     129                                    G4double kinEnergy);
    130130
    131131private:
     
    145145  G4int                fVerbose;
    146146  G4PhysicsLogVector*  fProtonEnergyVector ;
     147
     148
    147149
    148150  // vectors
     
    202204};
    203205
     206/////////////////////////////////////////////////////////////////////
     207
     208inline G4double G4PAIPhotonModel::MaxSecondaryEnergy( const G4ParticleDefinition* p,
     209                                                      G4double kinEnergy)
     210{
     211  G4double tmax = kinEnergy;
     212  if(p == fElectron) tmax *= 0.5;
     213  else if(p != fPositron) {
     214    G4double mass = p->GetPDGMass();
     215    G4double ratio= electron_mass_c2/mass;
     216    G4double gamma= kinEnergy/mass + 1.0;
     217    tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) /
     218                  (1. + 2.0*gamma*ratio + ratio*ratio);
     219  }
     220  return tmax;
     221}
     222
     223///////////////////////////////////////////////////////////////
     224
     225inline  void G4PAIPhotonModel::DefineForRegion(const G4Region* r)
     226{
     227  fPAIRegionVector.push_back(r);
     228}
     229
    204230#endif
    205231
  • trunk/source/processes/electromagnetic/standard/include/G4PAIxSection.hh

    r1006 r1007  
    2626//
    2727// $Id: G4PAIxSection.hh,v 1.15 2008/05/30 16:04:40 grichine Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/include/G4PAIySection.hh

    r1006 r1007  
    2626//
    2727// $Id: G4PAIySection.hh,v 1.1 2007/10/01 17:45:14 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/include/G4PEEffectModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PEEffectModel.hh,v 1.7 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4PEEffectModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    4141//
    4242// 06.02.2006 : added ComputeMeanFreePath()  (mma)
    43 // 20.02.2009 : move virtual inline to .cc, substitute
    44 //              ComputeMeanFreePath() by CrossSectionPerVolume (VI)
    4543//
    4644// Class Description:
     
    7270  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7371
    74   virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*,
    75                                               G4double kinEnergy,
    76                                               G4double Z,
    77                                               G4double A,
    78                                               G4double, G4double);
     72  G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition*,
     73                                      G4double kinEnergy,
     74                                      G4double Z,
     75                                      G4double A,
     76                                      G4double, G4double);
    7977                                     
    80   virtual G4double CrossSectionPerVolume(const G4Material*,
    81                                          const G4ParticleDefinition*,
    82                                          G4double kineticEnergy,
    83                                          G4double cutEnergy,
    84                                          G4double maxEnergy);
     78  G4double ComputeMeanFreePath( const G4ParticleDefinition*,
     79                                      G4double kinEnergy,
     80                                const G4Material* material,     
     81                                      G4double, G4double);
    8582
    8683  virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
     
    103100};
    104101
     102//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
     103
     104inline G4double G4PEEffectModel::ComputeCrossSectionPerAtom(
     105                                       const G4ParticleDefinition*,
     106                                             G4double energy,
     107                                             G4double Z, G4double,
     108                                             G4double, G4double)
     109{
     110 G4double* SandiaCof = G4SandiaTable::GetSandiaCofPerAtom((G4int)Z, energy);
     111
     112 G4double energy2 = energy*energy, energy3 = energy*energy2,
     113          energy4 = energy2*energy2;
     114
     115 return SandiaCof[0]/energy  + SandiaCof[1]/energy2 +
     116        SandiaCof[2]/energy3 + SandiaCof[3]/energy4;
     117}
     118
     119//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     120
     121inline G4double G4PEEffectModel::ComputeMeanFreePath(
     122                                       const G4ParticleDefinition*,
     123                                             G4double energy,
     124                                       const G4Material* material,
     125                                             G4double, G4double)
     126{
     127 G4double* SandiaCof = material->GetSandiaTable()
     128                                ->GetSandiaCofForMaterial(energy);
     129                               
     130 G4double energy2 = energy*energy, energy3 = energy*energy2,
     131          energy4 = energy2*energy2;
     132         
     133 G4double cross = SandiaCof[0]/energy  + SandiaCof[1]/energy2 +
     134                  SandiaCof[2]/energy3 + SandiaCof[3]/energy4;
     135 
     136 G4double mfp = DBL_MAX;
     137 if (cross > 0.) mfp = 1./cross;
     138 return mfp;
     139}
     140
    105141//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    106142
  • trunk/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh

    r1006 r1007  
    2525//
    2626// $Id: G4PSTARStopping.hh,v 1.5 2008/11/13 12:04:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929#ifndef G4PSTARStopping_h
  • trunk/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh

    r1005 r1007  
    2525//
    2626//
    27 // $Id: G4PhotoElectricEffect.hh,v 1.25 2009/02/20 12:06:37 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// $Id: G4PhotoElectricEffect.hh,v 1.24 2007/05/23 08:47:34 vnivanch Exp $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
     
    9191
    9292  // true for Gamma only.
    93   virtual G4bool IsApplicable(const G4ParticleDefinition&);
     93  G4bool IsApplicable(const G4ParticleDefinition&);
    9494
    9595  // Print few lines of informations about the process: validity range,
    96   virtual void PrintInfo();
     96  void PrintInfo();
    9797
    9898protected:
    9999
    100   virtual void InitialiseProcess(const G4ParticleDefinition*);
     100  void InitialiseProcess(const G4ParticleDefinition*);
    101101
    102102private:
     
    105105};
    106106
     107//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     108//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     109
     110inline
     111G4bool G4PhotoElectricEffect::IsApplicable(const G4ParticleDefinition& p)
     112{
     113  return (&p == G4Gamma::Gamma());
     114}
     115
    107116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    108117
  • trunk/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh

    r1006 r1007  
    2626//
    2727// $Id: G4PolarizedComptonScattering.hh,v 1.9 2006/06/29 19:51:14 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030// --------- G4PolarizedComptonScattering physics process ----------------------
  • trunk/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4UniversalFluctuation.hh,v 1.8 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4UniversalFluctuation.hh,v 1.6 2008/10/22 16:04:33 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7070  virtual ~G4UniversalFluctuation();
    7171
    72   virtual G4double SampleFluctuations(const G4Material*,
    73                                       const G4DynamicParticle*,
    74                                       G4double&,
    75                                       G4double&,
    76                                       G4double&);
     72  G4double SampleFluctuations(const G4Material*,
     73                          const G4DynamicParticle*,
     74                                G4double&,
     75                                G4double&,
     76                                G4double&);
    7777
    78   virtual G4double Dispersion(    const G4Material*,
    79                                   const G4DynamicParticle*,
    80                                   G4double&,
    81                                   G4double&);
     78  G4double Dispersion(    const G4Material*,
     79                          const G4DynamicParticle*,
     80                                G4double&,
     81                                G4double&);
    8282
    83   // Initialisation before the run
    84   virtual void InitialiseMe(const G4ParticleDefinition*);
     83  void InitialiseMe(const G4ParticleDefinition*);
    8584
    8685  // Initialisation prestep
    87   virtual void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2);
     86  inline void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2);
     87
     88protected:
    8889
    8990private:
     
    125126};
    126127
     128//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     129
     130inline void
     131G4UniversalFluctuation::SetParticleAndCharge(const G4ParticleDefinition* part,
     132                                             G4double q2)
     133{
     134  if(part != particle) {
     135    particle       = part;
     136    particleMass   = part->GetPDGMass();
     137  }
     138  chargeSquare = q2;
     139}
     140
    127141//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    128142
  • trunk/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh

    r1006 r1007  
    2525//
    2626// $Id: G4UrbanMscModel.hh,v 1.33 2008/03/10 10:39:21 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4UrbanMscModel2.hh

    r1006 r1007  
    2525//
    2626// $Id: G4UrbanMscModel2.hh,v 1.11 2008/12/18 13:01:34 gunter Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4UrbanMscModel90.hh

    r1006 r1007  
    2525//
    2626// $Id: G4UrbanMscModel90.hh,v 1.4 2008/10/29 14:15:30 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4WaterStopping.hh

    r1006 r1007  
    2525//
    2626// $Id: G4WaterStopping.hh,v 1.6 2008/09/09 09:30:58 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929#ifndef G4WaterStopping_h
  • trunk/source/processes/electromagnetic/standard/include/G4WentzelVIModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4WentzelVIModel.hh,v 1.8 2009/02/19 19:17:15 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4WentzelVIModel.hh,v 1.7 2008/08/04 08:49:09 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    6666class G4LossTableManager;
    6767class G4ParticleChangeForMSC;
    68 //class G4SafetyHelper;
     68class G4SafetyHelper;
    6969class G4ParticleDefinition;
    7070
     
    133133  G4ParticleChangeForMSC*   fParticleChange;
    134134
    135   //  G4SafetyHelper*           safetyHelper;
     135  G4SafetyHelper*           safetyHelper;
    136136  G4PhysicsTable*           theLambdaTable;
    137137  G4PhysicsTable*           theLambda2Table;
  • trunk/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eBremsstrahlung.hh,v 1.37 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eBremsstrahlung.hh,v 1.36 2007/05/23 08:47:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8989  virtual ~G4eBremsstrahlung();
    9090
    91   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     91  G4bool IsApplicable(const G4ParticleDefinition& p);
    9292
    9393  // Print out of the class parameters
     
    111111
    112112//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     113//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     114
     115inline G4bool G4eBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)
     116{
     117  return (&p == G4Electron::Electron() || &p == G4Positron::Positron());
     118}
     119
     120//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    113121
    114122#endif
  • trunk/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eBremsstrahlungModel.hh,v 1.26 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eBremsstrahlungModel.hh,v 1.25 2008/11/13 19:28:58 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7575  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7676
    77   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    78                                 const G4MaterialCutsCouple*);
     77  G4double MinEnergyCut(const G4ParticleDefinition*,
     78                        const G4MaterialCutsCouple*);
    7979
    8080  virtual G4double ComputeDEDXPerVolume(const G4Material*,
     
    103103protected:
    104104
     105  inline G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     106                                     G4double kineticEnergy);
     107
    105108  const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple);
    106109
     
    188191//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    189192
     193inline
     194G4double G4eBremsstrahlungModel::MaxSecondaryEnergy(
     195                                 const G4ParticleDefinition*,
     196                                       G4double kineticEnergy)
     197{
     198  return kineticEnergy;
     199}
     200
     201//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     202
    190203#endif
  • trunk/source/processes/electromagnetic/standard/include/G4eBremsstrahlungRelModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eBremsstrahlungRelModel.hh,v 1.11 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eBremsstrahlungRelModel.hh,v 1.10 2008/11/14 09:25:19 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7171  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7272
    73   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    74                                 const G4MaterialCutsCouple*);
     73  G4double MinEnergyCut(const G4ParticleDefinition*,
     74                        const G4MaterialCutsCouple*);
    7575
    7676  virtual G4double ComputeDEDXPerVolume(const G4Material*,
     
    9797  inline G4double LPMconstant() const;
    9898
     99protected:
     100
     101  inline G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     102                                     G4double kineticEnergy);
     103
    99104private:
    100105
     
    202207//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    203208
     209inline G4double
     210G4eBremsstrahlungRelModel::MaxSecondaryEnergy(const G4ParticleDefinition*,
     211                                              G4double kineticEnergy)
     212{
     213  return kineticEnergy;
     214}
     215
     216//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     217
    204218
    205219inline G4double G4eBremsstrahlungRelModel::Phi1(G4double gg, G4double)
  • trunk/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh

    r1006 r1007  
    2525//
    2626// $Id: G4eCoulombScatteringModel.hh,v 1.36 2008/08/04 08:49:09 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4eIonisation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eIonisation.hh,v 1.36 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eIonisation.hh,v 1.35 2007/05/23 08:47:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8888  virtual ~G4eIonisation();
    8989
    90   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     90  G4bool IsApplicable(const G4ParticleDefinition& p);
    9191
    9292  // Print out of the class parameters
     
    9898                                           const G4ParticleDefinition*);
    9999
    100   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition*,
    101                                     const G4Material*, G4double cut);
     100  G4double MinPrimaryEnergy(const G4ParticleDefinition*,
     101                            const G4Material*, G4double cut);
    102102
    103103private:
     
    114114};
    115115
     116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     117//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     118
     119inline G4double G4eIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
     120                                                const G4Material*,
     121                                                G4double cut)
     122{
     123  G4double x = cut;
     124  if(isElectron) x += cut;
     125  return x;
     126}
     127
     128//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     129
     130inline G4bool G4eIonisation::IsApplicable(const G4ParticleDefinition& p)
     131{
     132  return (&p == G4Electron::Electron() || &p == G4Positron::Positron());
     133}
     134
    116135//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    117136
  • trunk/source/processes/electromagnetic/standard/include/G4eMultipleScattering.hh

    r1006 r1007  
    2525//
    2626// $Id: G4eMultipleScattering.hh,v 1.2 2008/03/11 12:03:43 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4eeToTwoGammaModel.hh

    r1006 r1007  
    2525//
    2626// $Id: G4eeToTwoGammaModel.hh,v 1.14 2007/05/23 08:47:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eplusAnnihilation.hh,v 1.24 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eplusAnnihilation.hh,v 1.23 2007/05/23 08:47:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7373  virtual ~G4eplusAnnihilation();
    7474
    75   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     75  G4bool IsApplicable(const G4ParticleDefinition& p);
    7676
    7777  virtual G4VParticleChange* AtRestDoIt(
     
    7979                             const G4Step& stepData);
    8080
    81   virtual G4double AtRestGetPhysicalInteractionLength(
     81  G4double AtRestGetPhysicalInteractionLength(
    8282                             const G4Track& track,
    8383                             G4ForceCondition* condition
     
    9696};
    9797
     98//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     99//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     100
     101inline G4bool G4eplusAnnihilation::IsApplicable(const G4ParticleDefinition& p)
     102{
     103  return (&p == G4Positron::Positron());
     104}
     105
     106//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     107
     108inline
     109G4double G4eplusAnnihilation::AtRestGetPhysicalInteractionLength(
     110                              const G4Track&, G4ForceCondition* condition)
     111{
     112  *condition = NotForced;
     113  return 0.0;
     114}
     115
    98116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    99117
  • trunk/source/processes/electromagnetic/standard/include/G4hIonisation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4hIonisation.hh,v 1.42 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4hIonisation.hh,v 1.41 2008/09/14 17:11:48 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    9393  virtual ~G4hIonisation();
    9494
    95   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     95  G4bool IsApplicable(const G4ParticleDefinition& p);
    9696
    97   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
    98                                     const G4Material*, G4double cut);
     97  G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
     98                            const G4Material*, G4double cut);
    9999
    100100  // Print out of the class parameters
     
    123123
    124124//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     125//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     126
     127inline G4bool G4hIonisation::IsApplicable(const G4ParticleDefinition& p)
     128{
     129  return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV &&
     130         !p.IsShortLived());
     131}
     132
     133//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     134
     135inline G4double G4hIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
     136                                                const G4Material*,
     137                                                G4double cut)
     138{
     139  G4double x = 0.5*cut/electron_mass_c2;
     140  G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));
     141  return mass*(g - 1.0);
     142}
     143
     144//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    125145
    126146inline void G4hIonisation::ActivateNuclearStopping(G4bool val)
  • trunk/source/processes/electromagnetic/standard/include/G4hMultipleScattering.hh

    r1006 r1007  
    2525//
    2626// $Id: G4hMultipleScattering.hh,v 1.6 2008/05/09 08:23:44 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4ionGasIonisation.hh

    r1006 r1007  
    2525//
    2626// $Id: G4ionGasIonisation.hh,v 1.4 2008/09/12 16:26:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/include/G4ionIonisation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4ionIonisation.hh,v 1.57 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4ionIonisation.hh,v 1.56 2008/09/14 17:11:48 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8585  virtual ~G4ionIonisation();
    8686
    87   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     87  inline G4bool IsApplicable(const G4ParticleDefinition& p);
    8888
    8989  // Print out of the class parameters
     
    102102                                           const G4ParticleDefinition*);
    103103
    104   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
     104  inline G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
    105105                                   const G4Material*, G4double cut);
    106106
     
    127127
    128128//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     129//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     130
     131inline G4bool G4ionIonisation::IsApplicable(const G4ParticleDefinition& p)
     132{
     133  return (p.GetPDGCharge() != 0.0 && !p.IsShortLived() &&
     134          p.GetParticleType() == "nucleus");
     135}
     136
     137//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     138
     139inline G4double G4ionIonisation::MinPrimaryEnergy(
     140          const G4ParticleDefinition* p, const G4Material*, G4double cut)
     141{
     142  return
     143    p->GetPDGMass()*(std::sqrt(1. + 0.5*cut/CLHEP::electron_mass_c2) - 1.0);
     144}
     145
    129146//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    130147
  • trunk/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc

    r1006 r1007  
    2525//
    2626// $Id: G4ASTARStopping.cc,v 1.8 2008/11/24 18:28:09 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BetheBlochModel.cc,v 1.25 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BetheBlochModel.cc,v 1.24 2008/10/22 16:00:57 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    111111
    112112  corrFactor = chargeSquare;
    113   // always false before the run
    114   SetDeexcitationFlag(false);
    115113
    116114  if(!isInitialised) {
     
    455453}
    456454
    457 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    458 
    459 G4double G4BetheBlochModel::MaxSecondaryEnergy(const G4ParticleDefinition* pd,
    460                                                G4double kinEnergy)
    461 {
    462   if(isIon) SetParticle(pd);
    463   G4double tau  = kinEnergy/mass;
    464   G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
    465                   (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
    466   return std::min(tmax,tlimit);
    467 }
    468 
    469 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     455//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4BetheHeitlerModel.cc,v 1.12 2008/10/15 15:54:57 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BohrFluctuations.cc,v 1.7 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BohrFluctuations.cc,v 1.6 2007/09/27 14:02:41 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    137137//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    138138
    139 G4double G4BohrFluctuations::Dispersion(const G4Material* material,
    140                                         const G4DynamicParticle* dp,
    141                                         G4double& tmax,
    142                                         G4double& length)
    143 {
    144   if(!particle) InitialiseMe(dp->GetDefinition());
    145139
    146   G4double electronDensity = material->GetElectronDensity();
    147   kineticEnergy = dp->GetKineticEnergy();
    148   G4double etot = kineticEnergy + particleMass;
    149   beta2 = kineticEnergy*(kineticEnergy + 2.0*particleMass)/(etot*etot);
    150   G4double siga  = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length
    151                  * electronDensity * chargeSquare;
    152 
    153   return siga;
    154 }
    155 
    156 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    157 
    158 
  • trunk/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BraggIonModel.cc,v 1.23 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BraggIonModel.cc,v 1.22 2008/10/22 16:00:57 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    113113
    114114  corrFactor = chargeSquare;
    115 
    116   // always false before the run
    117   SetDeexcitationFlag(false);
    118115
    119116  if(!isInitialised) {
     
    355352  fParticleChange->SetProposedKineticEnergy(kineticEnergy);
    356353  fParticleChange->SetProposedMomentumDirection(finalP);
    357 }
    358 
    359 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    360 
    361 G4double G4BraggIonModel::MaxSecondaryEnergy(const G4ParticleDefinition* pd,
    362                                              G4double kinEnergy)
    363 {
    364   if(pd != particle) SetParticle(pd);
    365   G4double tau  = kinEnergy/mass;
    366   G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
    367                   (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
    368   return tmax;
    369354}
    370355
  • trunk/source/processes/electromagnetic/standard/src/G4BraggModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4BraggModel.cc,v 1.21 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4BraggModel.cc,v 1.20 2008/10/22 16:01:46 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    111111{
    112112  if(p != particle) SetParticle(p);
    113 
    114   // always false before the run
    115   SetDeexcitationFlag(false);
    116113
    117114  if(!isInitialised) {
     
    340337
    341338  vdp->push_back(delta);
    342 }
    343 
    344 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    345 
    346 G4double G4BraggModel::MaxSecondaryEnergy(const G4ParticleDefinition* pd,
    347                                           G4double kinEnergy)
    348 {
    349   if(pd != particle) SetParticle(pd);
    350   G4double tau  = kinEnergy/mass;
    351   G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
    352                   (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
    353   return tmax;
    354339}
    355340
  • trunk/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4ComptonScattering.cc,v 1.31 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4ComptonScattering.cc,v 1.30 2008/10/15 17:53:44 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
     
    8484//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    8585
    86 G4bool G4ComptonScattering::IsApplicable(const G4ParticleDefinition& p)
    87 {
    88   return (&p == G4Gamma::Gamma());
    89 }
    90 
    91 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    92 
    9386void G4ComptonScattering::InitialiseProcess(const G4ParticleDefinition*)
    9487{
  • trunk/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc

    r1006 r1007  
    2525//
    2626// $Id: G4ComptonScattering52.cc,v 1.7 2008/10/15 17:53:44 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
  • trunk/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4CoulombScattering.cc,v 1.20 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4CoulombScattering.cc,v 1.19 2008/10/15 17:53:44 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7979G4CoulombScattering::~G4CoulombScattering()
    8080{}
    81 
    82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    83 
    84 G4bool G4CoulombScattering::IsApplicable(const G4ParticleDefinition& p)
    85 {
    86   return (p.GetPDGCharge() != 0.0 && !p.IsShortLived());
    87 }
    8881
    8982//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
  • trunk/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4CoulombScatteringModel.cc,v 1.37 2008/07/31 13:11:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4GammaConversion.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4GammaConversion.cc,v 1.31 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4GammaConversion.cc,v 1.30 2008/10/15 17:53:44 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
     
    9090//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    9191
    92 G4bool G4GammaConversion::IsApplicable(const G4ParticleDefinition& p)
    93 {
    94   return (&p == G4Gamma::Gamma());
    95 }
    96 
    97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    98 
    9992void G4GammaConversion::InitialiseProcess(const G4ParticleDefinition*)
    10093{
  • trunk/source/processes/electromagnetic/standard/src/G4InitXscPAI.cc

    r1006 r1007  
    2626//
    2727// $Id: G4InitXscPAI.cc,v 1.9 2006/06/29 19:53:00 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4IonFluctuations.cc,v 1.25 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4IonFluctuations.cc,v 1.24 2008/10/22 16:25:21 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    420420
    421421//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    422 
    423 void G4IonFluctuations::SetParticleAndCharge(const G4ParticleDefinition* part,
    424                                              G4double q2)
    425 {
    426   if(part != particle) {
    427     particle       = part;
    428     particleMass   = part->GetPDGMass();
    429     charge         = part->GetPDGCharge()/eplus;
    430     chargeSquare   = charge*charge;
    431   }
    432   effChargeSquare  = q2;
    433   uniFluct.SetParticleAndCharge(part, q2);
    434 }
    435 
    436 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
  • trunk/source/processes/electromagnetic/standard/src/G4KleinNishinaCompton.cc

    r1006 r1007  
    2525//
    2626// $Id: G4KleinNishinaCompton.cc,v 1.9 2007/05/22 17:34:36 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MollerBhabhaModel.cc,v 1.31 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MollerBhabhaModel.cc,v 1.30 2007/05/22 17:34:36 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7474                                         const G4String& nam)
    7575  : G4VEmModel(nam),
    76     particle(0),
    77     isElectron(true),
    78     twoln10(2.0*log(10.0)),
    79     lowLimit(0.2*keV),
    80     isInitialised(false)
     76  particle(0),
     77  isElectron(true),
     78  twoln10(2.0*log(10.0)),
     79  lowLimit(0.2*keV)
    8180{
    8281  theElectron = G4Electron::Electron();
     
    8887G4MollerBhabhaModel::~G4MollerBhabhaModel()
    8988{}
     89
     90//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     91
     92void G4MollerBhabhaModel::SetParticle(const G4ParticleDefinition* p)
     93{
     94  particle = p;
     95  if(p != theElectron) isElectron = false;
     96}
    9097
    9198//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    101108//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    102109
    103 G4double G4MollerBhabhaModel::MaxSecondaryEnergy(const G4ParticleDefinition*,
    104                                                  G4double kinEnergy)
    105 {
    106   G4double tmax = kinEnergy;
    107   if(isElectron) tmax *= 0.5;
    108   return tmax;
    109 }
    110 
    111 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    112 
    113110void G4MollerBhabhaModel::Initialise(const G4ParticleDefinition* p,
    114111                                     const G4DataVector&)
    115112{
    116113  if(!particle) SetParticle(p);
    117   SetDeexcitationFlag(false);
    118 
    119   if(isInitialised) return;
    120 
    121   isInitialised = true;
    122   if(pParticleChange) {
     114  if(pParticleChange)
    123115    fParticleChange = reinterpret_cast<G4ParticleChangeForLoss*>
    124116                                                     (pParticleChange);
    125   } else {
     117  else
    126118    fParticleChange = new G4ParticleChangeForLoss();
    127   }
    128119}
    129120
  • trunk/source/processes/electromagnetic/standard/src/G4MscModel71.cc

    r1006 r1007  
    2525//
    2626// $Id: G4MscModel71.cc,v 1.6 2008/03/13 17:20:07 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc

    r1006 r1007  
    2525//
    2626// $Id: G4MultipleScattering.cc,v 1.75 2008/10/15 17:53:44 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc

    r1006 r1007  
    2525//
    2626// $Id: G4MultipleScattering71.cc,v 1.5 2008/07/16 11:27:41 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4PAIModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PAIModel.cc,v 1.46 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
    28 //
    29 // -------------------------------------------------------------------
    30 //
    31 // GEANT4 Class
    3226// File name:     G4PAIModel.cc
    3327//
     
    183177      fCutCouple = theCoupleTable->GetMaterialCutsCouple( fMaterial,
    184178                                          curReg->GetProductionCuts() );
    185       //G4cout << "Reg <" <<curReg->GetName() << ">  mat <"
    186       //             << fMaterial->GetName() << ">  fCouple= "
    187       //             << fCutCouple<<G4endl;
    188179      if( fCutCouple ) {
    189180        fMaterialCutsCoupleVector.push_back(fCutCouple);
     
    206197  }
    207198}
    208 
    209 //////////////////////////////////////////////////////////////////
    210 
    211 void G4PAIModel::InitialiseMe(const G4ParticleDefinition*)
    212 {}
    213199
    214200//////////////////////////////////////////////////////////////////
     
    407393  {
    408394    //  if ( x1 == x2  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    409     //    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    410     if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*0.5 ;
     395    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    411396    else             dNdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    412397  }
     
    450435  {
    451436    //  if ( x1 == x2  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    452     //    if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    453     if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*0.5 ;
     437    if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    454438    else             dEdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    455439  }
     
    460444//////////////////////////////////////////////////////////////////////////////
    461445
    462 G4double G4PAIModel::ComputeDEDXPerVolume(const G4Material*,
    463                                           const G4ParticleDefinition* p,
    464                                           G4double kineticEnergy,
    465                                           G4double cutEnergy)
     446G4double G4PAIModel::ComputeDEDX(const G4MaterialCutsCouple* matCC,
     447                                 const G4ParticleDefinition* p,
     448                                       G4double kineticEnergy,
     449                                       G4double cutEnergy)
    466450{
    467451  G4int iTkin,iPlace;
    468452  size_t jMat;
    469  
    470   //G4double cut = std::min(MaxSecondaryEnergy(p, kineticEnergy), cutEnergy);
    471   G4double cut = cutEnergy;
    472 
    473453  G4double massRatio  = fMass/p->GetPDGMass();
    474454  G4double scaledTkin = kineticEnergy*massRatio;
    475455  G4double charge     = p->GetPDGCharge();
    476   G4double charge2    = charge*charge;
    477   const G4MaterialCutsCouple* matCC = CurrentCouple();
     456  G4double charge2    = charge*charge, dEdx;
    478457
    479458  for( jMat = 0 ;jMat < fMaterialCutsCoupleVector.size() ; ++jMat )
     
    491470  iPlace = iTkin - 1;
    492471  if(iPlace < 0) iPlace = 0;
    493   G4double dEdx = charge2*( (*fdEdxVector)(iPlace) - GetdEdxCut(iPlace,cut) );
     472  dEdx = charge2*( (*fdEdxVector)(iPlace) - GetdEdxCut(iPlace,cutEnergy) ) ; 
     473
    494474  if( dEdx < 0.) dEdx = 0.;
    495475  return dEdx;
     
    498478/////////////////////////////////////////////////////////////////////////
    499479
    500 G4double G4PAIModel::CrossSectionPerVolume( const G4Material*,
    501                                             const G4ParticleDefinition* p,
    502                                             G4double kineticEnergy,
    503                                             G4double cutEnergy,
    504                                             G4double maxEnergy  )
     480G4double G4PAIModel::CrossSection( const G4MaterialCutsCouple* matCC,
     481                                   const G4ParticleDefinition* p,
     482                                         G4double kineticEnergy,
     483                                         G4double cutEnergy,
     484                                         G4double maxEnergy  )
    505485{
    506486  G4int iTkin,iPlace;
    507487  size_t jMat;
    508   G4double tmax = std::min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy);
    509   if(tmax <= cutEnergy) return 0.0;
     488  G4double tmax = min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy);
    510489  G4double massRatio  = fMass/p->GetPDGMass();
    511490  G4double scaledTkin = kineticEnergy*massRatio;
    512491  G4double charge     = p->GetPDGCharge();
    513492  G4double charge2    = charge*charge, cross, cross1, cross2;
    514   const G4MaterialCutsCouple* matCC = CurrentCouple();
    515493
    516494  for( jMat = 0 ;jMat < fMaterialCutsCoupleVector.size() ; ++jMat )
     
    957935}
    958936
    959 /////////////////////////////////////////////////////////////////////
    960 
    961 G4double G4PAIModel::MaxSecondaryEnergy( const G4ParticleDefinition* p,
    962                                          G4double kinEnergy)
    963 {
    964   G4double tmax = kinEnergy;
    965   if(p == fElectron) tmax *= 0.5;
    966   else if(p != fPositron) {
    967     G4double mass = p->GetPDGMass();
    968     G4double ratio= electron_mass_c2/mass;
    969     G4double gamma= kinEnergy/mass + 1.0;
    970     tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) /
    971                   (1. + 2.0*gamma*ratio + ratio*ratio);
    972   }
    973   return tmax;
    974 }
    975 
    976 ///////////////////////////////////////////////////////////////
    977 
    978 void G4PAIModel::DefineForRegion(const G4Region* r)
    979 {
    980   fPAIRegionVector.push_back(r);
    981 }
    982937
    983938//
  • trunk/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PAIPhotonModel.cc,v 1.21 2009/02/19 19:17:50 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
    28 //
    29 // -------------------------------------------------------------------
    30 //
    31 // GEANT4 Class
    3226// File name:     G4PAIPhotonModel.cc
    3327//
     
    223217//////////////////////////////////////////////////////////////////
    224218
    225 void G4PAIPhotonModel::InitialiseMe(const G4ParticleDefinition*)
    226 {}
    227 
    228 //////////////////////////////////////////////////////////////////
    229 
    230219void G4PAIPhotonModel::ComputeSandiaPhotoAbsCof()
    231220{
     
    498487  {
    499488    //  if ( x1 == x2  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    500     //    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    501     if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*0.5 ;
     489    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    502490    else             dNdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    503491  }
     
    542530  {
    543531    //  if ( x1 == x2  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    544     //    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    545     if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*0.5 ;
     532    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    546533    else             dNdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    547534  }
     
    587574  {
    588575    //  if ( x1 == x2  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    589     //    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    590     if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*0.5 ;
     576    if ( std::abs(x1-x2) <= eV  ) dNdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    591577    else             dNdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    592578  }
     
    631617  {
    632618    //  if ( x1 == x2  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    633     //    if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    634     if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*0.5 ;
     619    if ( std::abs(x1-x2) <= eV  ) dEdxCut = y1 + (y2 - y1)*G4UniformRand() ;
    635620    else             dEdxCut = y1 + (transferCut - x1)*(y2 - y1)/(x2 - x1) ;     
    636621  }
     
    641626//////////////////////////////////////////////////////////////////////////////
    642627
    643 G4double G4PAIPhotonModel::ComputeDEDXPerVolume(const G4Material*,
    644                                                 const G4ParticleDefinition* p,
    645                                                 G4double kineticEnergy,
    646                                                 G4double cutEnergy)
     628G4double G4PAIPhotonModel::ComputeDEDX(const G4MaterialCutsCouple* matCC,
     629                                 const G4ParticleDefinition* p,
     630                                       G4double kineticEnergy,
     631                                       G4double cutEnergy)
    647632{
    648633  G4int iTkin,iPlace;
    649634  size_t jMat;
    650 
    651   //G4double cut = std::min(MaxSecondaryEnergy(p, kineticEnergy), cutEnergy);
    652   G4double cut = cutEnergy;
    653 
    654635  G4double particleMass = p->GetPDGMass();
    655636  G4double scaledTkin   = kineticEnergy*proton_mass_c2/particleMass;
     
    657638  G4double charge2      = charge*charge;
    658639  G4double dEdx         = 0.;
    659   const G4MaterialCutsCouple* matCC = CurrentCouple();
    660640
    661641  for( jMat = 0 ;jMat < fMaterialCutsCoupleVector.size() ; ++jMat )
     
    673653  iPlace = iTkin - 1;
    674654  if(iPlace < 0) iPlace = 0;
    675   dEdx = charge2*( (*fdEdxVector)(iPlace) - GetdEdxCut(iPlace,cut) ) ; 
     655  dEdx = charge2*( (*fdEdxVector)(iPlace) - GetdEdxCut(iPlace,cutEnergy) ) ; 
    676656
    677657  if( dEdx < 0.) dEdx = 0.;
     
    681661/////////////////////////////////////////////////////////////////////////
    682662
    683 G4double G4PAIPhotonModel::CrossSectionPerVolume( const G4Material*,
    684                                                   const G4ParticleDefinition* p,
    685                                                   G4double kineticEnergy,
    686                                                   G4double cutEnergy,
    687                                                   G4double maxEnergy  )
     663G4double G4PAIPhotonModel::CrossSection( const G4MaterialCutsCouple* matCC,
     664                                   const G4ParticleDefinition* p,
     665                                         G4double kineticEnergy,
     666                                         G4double cutEnergy,
     667                                         G4double maxEnergy  )
    688668{
    689669  G4int iTkin,iPlace;
    690670  size_t jMat, jMatCC;
    691   G4double tmax = std::min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy);
    692   if(cutEnergy >= tmax) return 0.0;
     671  G4double tmax = min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy);
    693672  G4double particleMass = p->GetPDGMass();
    694673  G4double scaledTkin   = kineticEnergy*proton_mass_c2/particleMass;
     
    696675  G4double charge2      = charge*charge, cross, cross1, cross2;
    697676  G4double photon1, photon2, plasmon1, plasmon2;
    698 
    699   const G4MaterialCutsCouple* matCC = CurrentCouple();
    700677
    701678  const G4ProductionCutsTable* theCoupleTable=
     
    12481225}
    12491226
    1250 /////////////////////////////////////////////////////////////////////
    1251 
    1252 G4double G4PAIPhotonModel::MaxSecondaryEnergy( const G4ParticleDefinition* p,
    1253                                                       G4double kinEnergy)
    1254 {
    1255   G4double tmax = kinEnergy;
    1256   if(p == fElectron) tmax *= 0.5;
    1257   else if(p != fPositron) {
    1258     G4double mass = p->GetPDGMass();
    1259     G4double ratio= electron_mass_c2/mass;
    1260     G4double gamma= kinEnergy/mass + 1.0;
    1261     tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) /
    1262                   (1. + 2.0*gamma*ratio + ratio*ratio);
    1263   }
    1264   return tmax;
    1265 }
    1266 
    1267 ///////////////////////////////////////////////////////////////
    1268 
    1269 void G4PAIPhotonModel::DefineForRegion(const G4Region* r)
    1270 {
    1271   fPAIRegionVector.push_back(r);
    1272 }
    1273 
    12741227
    12751228//
  • trunk/source/processes/electromagnetic/standard/src/G4PAIxSection.cc

    r1006 r1007  
    2626//
    2727// $Id: G4PAIxSection.cc,v 1.24 2008/05/30 16:04:40 grichine Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/src/G4PAIySection.cc

    r1006 r1007  
    2626//
    2727// $Id: G4PAIySection.cc,v 1.3 2007/10/01 18:38:10 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/src/G4PEEffectModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PEEffectModel.cc,v 1.7 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4PEEffectModel.cc,v 1.6 2007/05/22 17:34:36 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    4141//
    4242// 04.12.05 : SetProposedKineticEnergy(0.) for the killed photon (mma)
    43 // 20.02.09 : Added initialisation of deexcitation flag and method
    44 //            CrossSectionPerVolume instead of mfp (V.Ivanchenko)
    4543//
    4644// Class Description:
     
    6866  theGamma    = G4Gamma::Gamma();
    6967  theElectron = G4Electron::Electron();
    70   fminimalEnergy = 1.0*eV;
    7168}
    7269
     
    7471
    7572G4PEEffectModel::~G4PEEffectModel()
    76 {}
     73{
     74}
    7775
    7876//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     
    8179                                 const G4DataVector&)
    8280{
    83   // always false before the run
    84   SetDeexcitationFlag(false);
     81 if (isInitialized) return;
     82 if (pParticleChange)
     83   fParticleChange =
     84                  reinterpret_cast<G4ParticleChangeForGamma*>(pParticleChange);
     85  else
     86   fParticleChange = new G4ParticleChangeForGamma();
    8587
    86   if (isInitialized) return;
    87   if (pParticleChange) {
    88     fParticleChange = reinterpret_cast<G4ParticleChangeForGamma*>(pParticleChange);
    89   } else {
    90     fParticleChange = new G4ParticleChangeForGamma();
    91   }
    92   isInitialized = true;
    93 }
    94 
    95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
    96 
    97 G4double G4PEEffectModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*,
    98                                                      G4double energy,
    99                                                      G4double Z, G4double,
    100                                                      G4double, G4double)
    101 {
    102   G4double* SandiaCof = G4SandiaTable::GetSandiaCofPerAtom((G4int)Z, energy);
    103 
    104   G4double energy2 = energy*energy;
    105   G4double energy3 = energy*energy2;
    106   G4double energy4 = energy2*energy2;
    107 
    108   return SandiaCof[0]/energy  + SandiaCof[1]/energy2 +
    109     SandiaCof[2]/energy3 + SandiaCof[3]/energy4;
    110 }
    111 
    112 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    113 
    114 G4double G4PEEffectModel::CrossSectionPerVolume(const G4Material* material,
    115                                                 const G4ParticleDefinition*,
    116                                                 G4double energy,
    117                                                 G4double, G4double)
    118 {
    119   G4double* SandiaCof =
    120     material->GetSandiaTable()->GetSandiaCofForMaterial(energy);
    121                                
    122   G4double energy2 = energy*energy;
    123   G4double energy3 = energy*energy2;
    124   G4double energy4 = energy2*energy2;
    125          
    126   return SandiaCof[0]/energy  + SandiaCof[1]/energy2 +
    127     SandiaCof[2]/energy3 + SandiaCof[3]/energy4;
     88 fminimalEnergy = 1.0*eV;
    12889}
    12990
  • trunk/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc

    r1006 r1007  
    2525//
    2626// $Id: G4PSTARStopping.cc,v 1.8 2008/11/24 18:28:09 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4PhotoElectricEffect.cc,v 1.42 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4PhotoElectricEffect.cc,v 1.41 2008/10/16 14:12:32 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
     
    8989{}
    9090
    91 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    92 
    93 G4bool G4PhotoElectricEffect::IsApplicable(const G4ParticleDefinition& p)
    94 {
    95   return (&p == G4Gamma::Gamma());
    96 }
    97 
    9891//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    9992
  • trunk/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc

    r1006 r1007  
    2626//
    2727// $Id: G4PolarizedComptonScattering.cc,v 1.18 2008/10/15 17:53:44 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030//
  • trunk/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4UniversalFluctuation.cc,v 1.17 2009/02/19 11:26:01 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4UniversalFluctuation.cc,v 1.16 2008/10/22 16:04:33 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    305305}
    306306
    307 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    308 
    309 void
    310 G4UniversalFluctuation::SetParticleAndCharge(const G4ParticleDefinition* part,
    311                                              G4double q2)
    312 {
    313   if(part != particle) {
    314     particle       = part;
    315     particleMass   = part->GetPDGMass();
    316   }
    317   chargeSquare = q2;
    318 }
    319 
    320 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     307//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4UrbanMscModel.cc,v 1.86 2008/10/29 14:15:30 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4UrbanMscModel2.cc

    r1006 r1007  
    2626//
    2727// $Id: G4UrbanMscModel2.cc,v 1.18 2008/12/18 13:01:36 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: geant4-09-02 $
    2929//
    3030// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4UrbanMscModel90.cc

    r1006 r1007  
    2525//
    2626// $Id: G4UrbanMscModel90.cc,v 1.10 2008/10/29 14:15:30 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4WaterStopping.cc

    r1006 r1007  
    2525//
    2626// $Id: G4WaterStopping.cc,v 1.11 2008/12/18 13:01:38 gunter Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4WentzelVIModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4WentzelVIModel.cc,v 1.17 2009/02/19 19:17:15 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4WentzelVIModel.cc,v 1.16 2008/11/19 11:47:50 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    6060#include "G4LossTableManager.hh"
    6161#include "G4ParticleChangeForMSC.hh"
    62 //#include "G4TransportationManager.hh"
    63 //#include "G4SafetyHelper.hh"
     62#include "G4TransportationManager.hh"
     63#include "G4SafetyHelper.hh"
    6464#include "G4PhysicsTableHelper.hh"
    6565#include "G4ElementVector.hh"
     
    138138      fParticleChange = new G4ParticleChangeForMSC();
    139139
    140     InitialiseSafetyHelper();
     140    safetyHelper = G4TransportationManager::GetTransportationManager()
     141      ->GetSafetyHelper();
     142    safetyHelper->InitialiseHelper();
    141143  }
    142144}
     
    275277  // i.e. when it is needed for optimization purposes
    276278  if(stepStatus != fGeomBoundary && presafety < tlimitminfix)
    277     presafety = ComputeSafety(sp->GetPosition(), tlimit);
     279    presafety = safetyHelper->ComputeSafety(sp->GetPosition());
    278280  /*
    279281  G4cout << "G4WentzelVIModel::ComputeTruePathLengthLimit tlimit= "
     
    568570
    569571    if(r > tlimitminfix) {
    570       pos /= r;
    571       ComputeDisplacement(fParticleChange, pos, r, safety);
     572      G4ThreeVector Position = *(fParticleChange->GetProposedPosition());
     573      G4double fac= 1.;
     574      if(r >= safety) {
     575        //  ******* so safety is computed at boundary too ************
     576        G4double newsafety =
     577          safetyHelper->ComputeSafety(Position) - tlimitminfix;
     578        if(newsafety <= 0.0) fac = 0.0;
     579        else if(r > newsafety) fac = newsafety/r ;
     580        //G4cout << "NewSafety= " << newsafety << " fac= " << fac
     581        // << " r= " << r << " sint= " << sint << " pos " << Position << G4endl;
     582      } 
     583
     584      if(fac > 0.) {
     585        // compute new endpoint of the Step
     586        G4ThreeVector newPosition = Position + fac*pos;
     587
     588        // check safety after displacement
     589        G4double postsafety = safetyHelper->ComputeSafety(newPosition);
     590
     591        // displacement to boundary
     592        if(postsafety <= 0.0) {
     593          safetyHelper->Locate(newPosition, newDirection);
     594
     595          // not on the boundary
     596        } else {
     597          safetyHelper->ReLocateWithinVolume(newPosition);
     598          // if(fac < 1.0) G4cout << "NewPosition " << newPosition << G4endl;
     599        }
     600     
     601        fParticleChange->ProposePosition(newPosition);
     602      }
    572603    }
    573604  }
  • trunk/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eBremsstrahlung.cc,v 1.56 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eBremsstrahlung.cc,v 1.55 2008/11/14 19:23:07 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    104104//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    105105
    106 G4bool G4eBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)
    107 {
    108   return (&p == G4Electron::Electron() || &p == G4Positron::Positron());
    109 }
    110 
    111 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    112 
    113106void G4eBremsstrahlung::InitialiseEnergyLossProcess(
    114107                                                const G4ParticleDefinition* p,
  • trunk/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4eBremsstrahlungModel.cc,v 1.43 2008/11/13 19:28:58 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4eBremsstrahlungRelModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eBremsstrahlungRelModel.cc,v 1.13 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eBremsstrahlungRelModel.cc,v 1.12 2008/11/13 23:28:27 schaelic Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4eCoulombScatteringModel.cc,v 1.59 2008/10/22 18:39:29 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4eIonisation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eIonisation.cc,v 1.57 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eIonisation.cc,v 1.56 2008/10/20 08:56:41 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    103103//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    104104
    105 G4double G4eIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
    106                                          const G4Material*,
    107                                          G4double cut)
    108 {
    109   G4double x = cut;
    110   if(isElectron) x += cut;
    111   return x;
    112 }
    113 
    114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    115 
    116 G4bool G4eIonisation::IsApplicable(const G4ParticleDefinition& p)
    117 {
    118   return (&p == G4Electron::Electron() || &p == G4Positron::Positron());
    119 }
    120 
    121 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    122 
    123105void G4eIonisation::InitialiseEnergyLossProcess(
    124106                    const G4ParticleDefinition* part,
  • trunk/source/processes/electromagnetic/standard/src/G4eMultipleScattering.cc

    r1006 r1007  
    2525//
    2626// $Id: G4eMultipleScattering.cc,v 1.7 2008/10/23 17:55:20 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4eeToTwoGammaModel.cc

    r1006 r1007  
    2525//
    2626// $Id: G4eeToTwoGammaModel.cc,v 1.14 2007/05/23 08:47:35 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4eplusAnnihilation.cc,v 1.30 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4eplusAnnihilation.cc,v 1.29 2008/10/15 17:53:44 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7979//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    8080
    81 G4bool G4eplusAnnihilation::IsApplicable(const G4ParticleDefinition& p)
    82 {
    83   return (&p == G4Positron::Positron());
    84 }
    85 
    86 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    87 
    88 G4double G4eplusAnnihilation::AtRestGetPhysicalInteractionLength(
    89                               const G4Track&, G4ForceCondition* condition)
    90 {
    91   *condition = NotForced;
    92   return 0.0;
    93 }
    94 
    95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    96 
    9781void G4eplusAnnihilation::InitialiseProcess(const G4ParticleDefinition*)
    9882{
  • trunk/source/processes/electromagnetic/standard/src/G4hIonisation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4hIonisation.cc,v 1.82 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4hIonisation.cc,v 1.81 2008/10/22 16:02:20 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    122122{}
    123123
    124 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    125 
    126 G4bool G4hIonisation::IsApplicable(const G4ParticleDefinition& p)
    127 {
    128   return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV &&
    129          !p.IsShortLived());
    130 }
    131 
    132 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    133 
    134 G4double G4hIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
    135                                          const G4Material*,
    136                                          G4double cut)
    137 {
    138   G4double x = 0.5*cut/electron_mass_c2;
    139   G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));
    140   return mass*(g - 1.0);
    141 }
    142 
    143124//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 
    144125
  • trunk/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc

    r1006 r1007  
    2525//
    2626// $Id: G4hMultipleScattering.cc,v 1.13 2008/10/15 17:53:44 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4ionGasIonisation.cc

    r1006 r1007  
    2525//
    2626// $Id: G4ionGasIonisation.cc,v 1.14 2008/09/12 16:26:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/standard/src/G4ionIonisation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4ionIonisation.cc,v 1.66 2009/02/20 12:06:37 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4ionIonisation.cc,v 1.65 2008/10/15 17:53:44 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    104104//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    105105
    106 G4bool G4ionIonisation::IsApplicable(const G4ParticleDefinition& p)
    107 {
    108   return (p.GetPDGCharge() != 0.0 && !p.IsShortLived() &&
    109           p.GetParticleType() == "nucleus");
    110 }
    111 
    112 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    113 
    114 G4double G4ionIonisation::MinPrimaryEnergy(const G4ParticleDefinition* p,
    115                                            const G4Material*,
    116                                            G4double cut)
    117 {
    118   return
    119     p->GetPDGMass()*(std::sqrt(1. + 0.5*cut/CLHEP::electron_mass_c2) - 1.0);
    120 }
    121 
    122 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    123 
    124106void G4ionIonisation::InitialiseEnergyLossProcess(
    125107                      const G4ParticleDefinition* part,
Note: See TracChangeset for help on using the changeset viewer.