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/muons
Files:
17 edited

Legend:

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

    r1005 r1007  
    1 $Id: History,v 1.126 2009/02/26 11:04:20 vnivanch Exp $
     1$Id: History,v 1.124 2008/11/13 14:14:07 vnivanch Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
    19 
    20 26 February 09: V.Ivant (emmuons-V09-02-01)
    21 G4MuIonisation - fixed initialisation alowing to configure external model
    22                  of fluctuations
    23 
    24 20 February 09: V.Ivant (emmuons-V09-02-00)
    25 - Cleanup: improved comments, move virtual methods from .hh to .cc
    2619
    272012 November 08: V.Ivant (emmuons-V09-01-15)
  • trunk/source/processes/electromagnetic/muons/include/G4EnergyLossForExtrapolator.hh

    r1006 r1007  
    2525//
    2626// $Id: G4EnergyLossForExtrapolator.hh,v 1.12 2008/11/13 14:14: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/muons/include/G4MuBetheBlochModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBetheBlochModel.hh,v 1.18 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBetheBlochModel.hh,v 1.17 2007/05/22 17:35:58 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7676  virtual ~G4MuBetheBlochModel();
    7777
    78   virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
     78  void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    7979
    80   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    81                                 const G4MaterialCutsCouple*);
     80  G4double MinEnergyCut(const G4ParticleDefinition*,
     81                        const G4MaterialCutsCouple*);
    8282                       
    8383  virtual G4double ComputeCrossSectionPerElectron(
     
    113113protected:
    114114
    115   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    116                                       G4double kinEnergy);
     115  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     116                                    G4double kinEnergy);
    117117
    118118private:
    119119
    120   inline void SetParticle(const G4ParticleDefinition* p);
     120  void SetParticle(const G4ParticleDefinition* p);
    121121
    122122  // hide assignment operator
     
    141141};
    142142
    143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     143//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
    144144
    145 inline void G4MuBetheBlochModel::SetParticle(const G4ParticleDefinition* p)
     145inline G4double G4MuBetheBlochModel::MaxSecondaryEnergy(
     146          const G4ParticleDefinition*,
     147                G4double kinEnergy)
    146148{
    147   if(!particle) {
    148     particle = p;
    149     mass = particle->GetPDGMass();
    150     massSquare = mass*mass;
    151     ratio = electron_mass_c2/mass;
    152   }
     149  G4double tau  = kinEnergy/mass;
     150  G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
     151                  (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
     152  return tmax;
    153153}
    154154
  • trunk/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBremsstrahlung.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBremsstrahlung.hh,v 1.30 2008/02/29 17:50:05 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8686  virtual ~G4MuBremsstrahlung();
    8787
    88   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     88  G4bool IsApplicable(const G4ParticleDefinition& p);
    8989
    90   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
    91                                     const G4Material*,
    92                                     G4double cut);
     90  G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
     91                            const G4Material*,
     92                            G4double cut);
    9393
    9494  // Print out of the class parameters
    95   virtual void PrintInfo();
     95  void PrintInfo();
    9696
    9797protected:
    9898
    99   virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
    100                                            const G4ParticleDefinition*);
     99  void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
     100                                   const G4ParticleDefinition*);
    101101
    102102private:
     
    114114
    115115//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     117
     118inline
     119G4bool G4MuBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)
     120{
     121  return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
     122}
     123
     124//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     125
     126inline
     127G4double G4MuBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*,
     128                                              const G4Material*,
     129                                              G4double)
     130{
     131  return lowestKinEnergy;
     132}
     133
     134//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    116135
    117136#endif
  • trunk/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBremsstrahlungModel.hh,v 1.22 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBremsstrahlungModel.hh,v 1.21 2008/07/22 16:11:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7878  virtual ~G4MuBremsstrahlungModel();
    7979
    80   virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    81 
    82   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
    83                                 const G4MaterialCutsCouple*);
     80  void SetParticle(const G4ParticleDefinition*);
     81
     82  void Initialise(const G4ParticleDefinition*, const G4DataVector&);
     83
     84  G4double MinEnergyCut(const G4ParticleDefinition*,
     85                        const G4MaterialCutsCouple*);
    8486                             
    8587  virtual G4double ComputeCrossSectionPerAtom(
     
    9597                                G4double cutEnergy);
    9698                             
    97   virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
    98                                 const G4MaterialCutsCouple*,
    99                                 const G4DynamicParticle*,
    100                                 G4double tmin,
    101                                 G4double maxEnergy);
     99  void SampleSecondaries(std::vector<G4DynamicParticle*>*,
     100                        const G4MaterialCutsCouple*,
     101                        const G4DynamicParticle*,
     102                        G4double tmin,
     103                        G4double maxEnergy);
    102104
    103105  inline void SetLowestKineticEnergy(G4double e);
     
    115117                                                   G4double gammaEnergy);
    116118
    117   inline void SetParticle(const G4ParticleDefinition*);
     119  G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     120                              G4double kineticEnergy);
    118121
    119122private:
     
    157160//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    158161
     162inline
     163G4double G4MuBremsstrahlungModel::MaxSecondaryEnergy(const G4ParticleDefinition*,
     164                                                     G4double kineticEnergy)
     165{
     166  return kineticEnergy;
     167}
     168
     169//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     170
    159171inline void G4MuBremsstrahlungModel::SetLowestKineticEnergy(G4double e)
    160172{
    161173  lowestKinEnergy = e;
     174}
     175
     176//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     177
     178inline
     179G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*,
     180                                               const G4MaterialCutsCouple*)
     181{
     182  return minThreshold;
    162183}
    163184
  • trunk/source/processes/electromagnetic/muons/include/G4MuIonisation.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuIonisation.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuIonisation.hh,v 1.30 2007/05/23 08:49:32 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    9595  virtual ~G4MuIonisation();
    9696
    97   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     97  G4bool IsApplicable(const G4ParticleDefinition& p);
    9898
    99   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
    100                                     const G4Material*, G4double cut);
     99  G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
     100                            const G4Material*, G4double cut);
    101101
    102102  // Print out of the class parameters
    103   virtual void PrintInfo();
     103  void PrintInfo();
    104104
    105105protected:
     
    127127
    128128//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     129//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     130
     131inline G4bool G4MuIonisation::IsApplicable(const G4ParticleDefinition& p)
     132{
     133  return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
     134}
     135
     136//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     137
     138inline G4double G4MuIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
     139                                                 const G4Material*,
     140                                                 G4double cut)
     141{
     142  G4double x = 0.5*cut/electron_mass_c2;
     143  G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));
     144  return mass*(g - 1.0);
     145}
     146
     147//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    129148
    130149#endif
  • trunk/source/processes/electromagnetic/muons/include/G4MuMultipleScattering.hh

    r1006 r1007  
    2525//
    2626// $Id: G4MuMultipleScattering.hh,v 1.2 2008/04/13 17:19:13 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuPairProduction.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuPairProduction.hh,v 1.30 2008/02/29 17:50:05 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8484  virtual ~G4MuPairProduction();
    8585
    86   virtual G4bool IsApplicable(const G4ParticleDefinition& p);
     86  G4bool IsApplicable(const G4ParticleDefinition& p);
    8787
    88   virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
    89                                     const G4Material*, G4double cut);
     88  G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
     89                            const G4Material*, G4double cut);
    9090
    9191  // Print out of the class parameters
    92   virtual void PrintInfo();
     92  void PrintInfo();
    9393
    9494protected:
    9595
    96   virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
    97                                            const G4ParticleDefinition*);
     96  void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
     97                                   const G4ParticleDefinition*);
    9898
    9999private:
     
    113113
    114114//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     115//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     116
     117inline
     118G4bool G4MuPairProduction::IsApplicable(const G4ParticleDefinition& p)
     119{
     120  return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
     121}
     122
     123//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     124
     125inline
     126G4double G4MuPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*,
     127                                              const G4Material*,
     128                                              G4double)
     129{
     130  return lowestKinEnergy;
     131}
     132
     133//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    115134
    116135#endif
  • trunk/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuPairProductionModel.hh,v 1.28 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuPairProductionModel.hh,v 1.27 2008/07/22 16:11:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    7979  virtual ~G4MuPairProductionModel();
    8080
    81   virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
     81  void Initialise(const G4ParticleDefinition*, const G4DataVector&);
    8282
    8383                       
     
    100100                                 G4double maxEnergy);
    101101
    102   virtual G4double MinEnergyCut(const G4ParticleDefinition*,
     102  inline void SetLowestKineticEnergy(G4double e);
     103
     104  inline G4double MinEnergyCut(const G4ParticleDefinition*,
    103105                               const G4MaterialCutsCouple*);
    104 
    105   inline void SetLowestKineticEnergy(G4double e);
    106106
    107107  inline void SetParticle(const G4ParticleDefinition*);
     
    120120                                                   G4double pairEnergy);
    121121
    122   virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
    123                                       G4double kineticEnergy);
     122  inline G4double MaxSecondaryEnergy(const G4ParticleDefinition*,
     123                                     G4double kineticEnergy);
    124124
    125125  inline void SetCurrentElement(G4double Z);
     
    193193
    194194inline
     195G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition*,
     196                                               const G4MaterialCutsCouple* )
     197{
     198  return minPairEnergy;
     199}
     200
     201//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     202
     203inline
    195204void G4MuPairProductionModel::SetParticle(const G4ParticleDefinition* p)
    196205{
     
    199208    particleMass = particle->GetPDGMass();
    200209  }
     210}
     211
     212//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     213
     214inline G4double G4MuPairProductionModel::MaxSecondaryEnergy(
     215                                 const G4ParticleDefinition*,
     216                                       G4double kineticEnergy)
     217{
     218  G4double maxPairEnergy = kineticEnergy + particleMass*(1.0 - 0.75*sqrte*z13);
     219  return maxPairEnergy;
    201220}
    202221
  • trunk/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc

    r1006 r1007  
    2525//
    2626// $Id: G4EnergyLossForExtrapolator.cc,v 1.18 2008/11/13 14:14: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/muons/src/G4MuBetheBlochModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBetheBlochModel.cc,v 1.25 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBetheBlochModel.cc,v 1.24 2008/03/25 12:31:04 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8888  theElectron = G4Electron::Electron();
    8989  corr = G4LossTableManager::Instance()->EmCorrections();
    90   fParticleChange = 0;
    9190
    9291  if(p) SetParticle(p);
     
    10099//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    101100
     101void G4MuBetheBlochModel::SetParticle(const G4ParticleDefinition* p)
     102{
     103  if(!particle) {
     104    particle = p;
     105    mass = particle->GetPDGMass();
     106    massSquare = mass*mass;
     107    ratio = electron_mass_c2/mass;
     108  }
     109}
     110
     111//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     112
    102113G4double G4MuBetheBlochModel::MinEnergyCut(const G4ParticleDefinition*,
    103114                                           const G4MaterialCutsCouple* couple)
     
    106117}
    107118
    108 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
    109 
    110 G4double G4MuBetheBlochModel::MaxSecondaryEnergy(const G4ParticleDefinition*,
    111                                                  G4double kinEnergy)
    112 {
    113   G4double tau  = kinEnergy/mass;
    114   G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /
    115                   (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);
    116   return tmax;
    117 }
    118 
    119119//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    120120
     
    124124  if(p) SetParticle(p);
    125125
    126   if(!fParticleChange) {
    127     if(pParticleChange) {
    128       fParticleChange =
    129         reinterpret_cast<G4ParticleChangeForLoss*>(pParticleChange);
    130     } else {
    131       fParticleChange = new G4ParticleChangeForLoss();
    132     }
    133   }
     126  if(pParticleChange)
     127    fParticleChange = reinterpret_cast<G4ParticleChangeForLoss*>
     128                                                             (pParticleChange);
     129  else
     130    fParticleChange = new G4ParticleChangeForLoss();
    134131}
    135132
  • trunk/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBremsstrahlung.cc,v 1.42 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBremsstrahlung.cc,v 1.41 2008/10/16 13:37:04 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    9393//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    9494
    95 G4bool G4MuBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)
    96 {
    97   return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
    98 }
    99 
    100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    101 
    102 G4double G4MuBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*,
    103                                               const G4Material*,
    104                                               G4double)
    105 {
    106   return lowestKinEnergy;
    107 }
    108 
    109 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    110 
    11195void G4MuBremsstrahlung::InitialiseEnergyLossProcess(
    11296                                 const G4ParticleDefinition* part,
  • trunk/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuBremsstrahlungModel.cc,v 1.33 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuBremsstrahlungModel.cc,v 1.32 2008/07/22 16:11:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    111111//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    112112
    113 G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*,
    114                                                const G4MaterialCutsCouple*)
    115 {
    116   return minThreshold;
    117 }
    118 
    119 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    120 
    121113void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition* p,
    122114                                         const G4DataVector& cuts)
     
    139131    if(nn > 0) {
    140132      for (G4int ii=0; ii<nn; ii++){
    141         G4DataVector* a = partialSumSigma[ii];
     133        G4DataVector* a=partialSumSigma[ii];
    142134        if ( a )  delete a;   
    143135      }
  • trunk/source/processes/electromagnetic/muons/src/G4MuIonisation.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuIonisation.cc,v 1.59 2009/02/26 11:04:20 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuIonisation.cc,v 1.57 2008/10/27 10:55:07 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    8686#include "G4MuBetheBlochModel.hh"
    8787#include "G4UniversalFluctuation.hh"
    88 #include "G4IonFluctuations.hh"
    8988#include "G4BohrFluctuations.hh"
    9089#include "G4UnitsTable.hh"
     
    113112//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    114113
    115 G4bool G4MuIonisation::IsApplicable(const G4ParticleDefinition& p)
    116 {
    117   return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
    118 }
    119 
    120 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    121 
    122 G4double G4MuIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
    123                                           const G4Material*,
    124                                           G4double cut)
    125 {
    126   G4double x = 0.5*cut/electron_mass_c2;
    127   G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));
    128   return mass*(g - 1.0);
    129 }
    130 
    131 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    132 
    133114void G4MuIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition* part,
    134115                                                 const G4ParticleDefinition* bpart)
     
    142123    SetSecondaryParticle(G4Electron::Electron());
    143124
    144     // Bragg peak model
    145     if (!EmModel(1)) SetEmModel(new G4BraggModel(),1);
    146     EmModel(1)->SetLowEnergyLimit(MinKinEnergy());
    147     EmModel(1)->SetHighEnergyLimit(0.2*MeV);
    148     AddEmModel(1, EmModel(1), new G4IonFluctuations());
     125    flucModel = new G4UniversalFluctuation();
    149126
    150     // high energy fluctuation model
    151     if (!FluctModel()) SetFluctModel(new G4UniversalFluctuation());
    152 
    153     // moderate energy model
    154     if (!EmModel(2)) SetEmModel(new G4BetheBlochModel(),2);
    155     EmModel(2)->SetLowEnergyLimit(0.2*MeV);
    156     EmModel(2)->SetHighEnergyLimit(1.0*GeV);
    157     AddEmModel(2, EmModel(2), FluctModel());
    158 
    159     // high energy model
    160     if (!EmModel(3)) SetEmModel(new G4MuBetheBlochModel(),3);
    161     EmModel(3)->SetLowEnergyLimit(1.0*GeV);
    162     EmModel(3)->SetHighEnergyLimit(MaxKinEnergy());
    163     AddEmModel(3, EmModel(3), FluctModel());
     127    G4VEmModel* em = new G4BraggModel();
     128    em->SetLowEnergyLimit(MinKinEnergy());
     129    em->SetHighEnergyLimit(0.2*MeV);
     130    AddEmModel(1, em, flucModel);
     131    G4VEmModel* em1 = new G4BetheBlochModel();
     132    em1->SetLowEnergyLimit(0.2*MeV);
     133    em1->SetHighEnergyLimit(1.0*GeV);
     134    AddEmModel(2, em1, flucModel);
     135    G4VEmModel* em2 = new G4MuBetheBlochModel();
     136    em2->SetLowEnergyLimit(1.0*GeV);
     137    em2->SetHighEnergyLimit(MaxKinEnergy());
     138    AddEmModel(3, em2, flucModel);
    164139
    165140    ratio = electron_mass_c2/mass;
  • trunk/source/processes/electromagnetic/muons/src/G4MuMultipleScattering.cc

    r1006 r1007  
    2525//
    2626// $Id: G4MuMultipleScattering.cc,v 1.12 2008/10/16 13:37:04 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -----------------------------------------------------------------------------
  • trunk/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuPairProduction.cc,v 1.52 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuPairProduction.cc,v 1.51 2008/10/16 13:37:04 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    100100//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    101101
    102 G4bool G4MuPairProduction::IsApplicable(const G4ParticleDefinition& p)
    103 {
    104   return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
    105 }
    106 
    107 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    108 
    109 G4double G4MuPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*,
    110                                               const G4Material*,
    111                                               G4double)
    112 {
    113   return lowestKinEnergy;
    114 }
    115 
    116 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    117 
    118102void G4MuPairProduction::InitialiseEnergyLossProcess(
    119103                         const G4ParticleDefinition* part,
  • trunk/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc

    r1005 r1007  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuPairProductionModel.cc,v 1.40 2009/02/20 14:48:16 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4MuPairProductionModel.cc,v 1.39 2008/07/22 16:11:34 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    137137//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    138138
    139 G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition*,
    140                                                const G4MaterialCutsCouple* )
    141 {
    142   return minPairEnergy;
    143 }
    144 
    145 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    146 
    147 G4double G4MuPairProductionModel::MaxSecondaryEnergy(const G4ParticleDefinition*,
    148                                                      G4double kineticEnergy)
    149 {
    150   G4double maxPairEnergy = kineticEnergy + particleMass*(1.0 - 0.75*sqrte*z13);
    151   return maxPairEnergy;
    152 }
    153 
    154 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    155 
    156139void G4MuPairProductionModel::Initialise(const G4ParticleDefinition* p,
    157140                                         const G4DataVector&)
Note: See TracChangeset for help on using the changeset viewer.