G4hBremsstrahlungModel Class Reference

#include <G4hBremsstrahlungModel.hh>

Inheritance diagram for G4hBremsstrahlungModel:

G4MuBremsstrahlungModel G4VEmModel

Public Member Functions

 G4hBremsstrahlungModel (const G4ParticleDefinition *p=0, const G4String &nam="hBrem")
virtual ~G4hBremsstrahlungModel ()

Protected Member Functions

virtual G4double ComputeDMicroscopicCrossSection (G4double tkin, G4double Z, G4double gammaEnergy)

Detailed Description

Definition at line 56 of file G4hBremsstrahlungModel.hh.


Constructor & Destructor Documentation

G4hBremsstrahlungModel::G4hBremsstrahlungModel ( const G4ParticleDefinition p = 0,
const G4String nam = "hBrem" 
)

Definition at line 57 of file G4hBremsstrahlungModel.cc.

00059   : G4MuBremsstrahlungModel(p, nam)
00060 {}

G4hBremsstrahlungModel::~G4hBremsstrahlungModel (  )  [virtual]

Definition at line 64 of file G4hBremsstrahlungModel.cc.

00065 {}


Member Function Documentation

G4double G4hBremsstrahlungModel::ComputeDMicroscopicCrossSection ( G4double  tkin,
G4double  Z,
G4double  gammaEnergy 
) [protected, virtual]

Reimplemented from G4MuBremsstrahlungModel.

Definition at line 69 of file G4hBremsstrahlungModel.cc.

References G4MuBremsstrahlungModel::bh, G4MuBremsstrahlungModel::btf, G4MuBremsstrahlungModel::coeff, G4NistManager::GetA27(), G4ParticleDefinition::GetPDGSpin(), G4NistManager::GetZ13(), G4MuBremsstrahlungModel::mass, G4MuBremsstrahlungModel::nist, G4MuBremsstrahlungModel::particle, and G4MuBremsstrahlungModel::sqrte.

00074 {
00075   G4double dxsection = 0.;
00076 
00077   if( gammaEnergy > tkin) return dxsection ;
00078   //  G4cout << "G4hBremsstrahlungModel m= " << mass 
00079   //     << "  " << particle->GetParticleName() << G4endl;
00080   G4double E = tkin + mass ;
00081   G4double v = gammaEnergy/E ;
00082   G4double delta = 0.5*mass*mass*v/(E-gammaEnergy) ;
00083   G4double rab0=delta*sqrte ;
00084 
00085   G4int iz = G4int(Z);
00086   if(iz < 1) iz = 1;
00087 
00088   G4double z13 = 1.0/nist->GetZ13(iz);
00089   G4double dn  = mass*nist->GetA27(iz)/(70.*MeV);
00090 
00091   G4double    b = btf;
00092   if(1 == iz) b = bh;
00093 
00094   // nucleus contribution logarithm
00095   G4double rab1=b*z13;
00096   G4double fn=log(rab1/(dn*(electron_mass_c2+rab0*rab1))*
00097               (mass+delta*(dn*sqrte-2.))) ;
00098   if(fn <0.) fn = 0. ;
00099 
00100   G4double x = 1.0 - v;
00101   if(particle->GetPDGSpin() != 0) x += 0.75*v*v;
00102 
00103   dxsection = coeff*x*Z*Z*fn/gammaEnergy;
00104 
00105   return dxsection;
00106 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:09 2013 for Geant4 by  doxygen 1.4.7