G4EMDissociationSpectrum.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // *                                                                  *
00021 // * Parts of this code which have been  developed by QinetiQ Ltd     *
00022 // * under contract to the European Space Agency (ESA) are the        *
00023 // * intellectual property of ESA. Rights to use, copy, modify and    *
00024 // * redistribute this software for general public use are granted    *
00025 // * in compliance with any licensing, distribution and development   *
00026 // * policy adopted by the Geant4 Collaboration. This code has been   *
00027 // * written by QinetiQ Ltd for the European Space Agency, under ESA  *
00028 // * contract 17191/03/NL/LvH (Aurora Programme).                     *
00029 // *                                                                  *
00030 // * By using,  copying,  modifying or  distributing the software (or *
00031 // * any work based  on the software)  you  agree  to acknowledge its *
00032 // * use  in  resulting  scientific  publications,  and indicate your *
00033 // * acceptance of all terms of the Geant4 Software license.          *
00034 // ********************************************************************
00035 //
00036 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00037 //
00038 // MODULE:              G4EMDissociationSpectrum.cc
00039 //
00040 // Version:             B.1
00041 // Date:                15/04/04
00042 // Author:              P R Truscott
00043 // Organisation:        QinetiQ Ltd, UK
00044 // Customer:            ESA/ESTEC, NOORDWIJK
00045 // Contract:            17191/03/NL/LvH
00046 //
00047 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00048 //
00049 // CHANGE HISTORY
00050 // --------------
00051 //
00052 // 6 October 2003, P R Truscott, QinetiQ Ltd, UK
00053 // Created.
00054 //
00055 // 15 March 2004, P R Truscott, QinetiQ Ltd, UK
00056 // Beta release
00057 //
00058 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00060 //
00061 #include "G4EMDissociationSpectrum.hh"
00062 #include "globals.hh"
00063 #include "G4PhysicalConstants.hh"
00064 #include "G4SystemOfUnits.hh"
00066 //
00067 G4EMDissociationSpectrum::G4EMDissociationSpectrum ()
00068 {
00069   bessel = new G4Bessel();
00070 }
00072 //
00073 G4EMDissociationSpectrum::~G4EMDissociationSpectrum ()
00074 {
00075   delete bessel;
00076 }
00078 //
00079 G4double G4EMDissociationSpectrum::GetGeneralE1Spectrum
00080   (G4double Eg, G4double b, G4double bmin)
00081 {
00082   G4double b2 = b*b;
00083   G4double gg  = 1.0/std::sqrt(1.0-b2);
00084   G4double xi = Eg * bmin / gg / b / hbarc;
00085   G4double K0 = bessel->K0(xi);
00086   G4double K1 = bessel->K1(xi);
00087   G4double n  = 2.0 * fine_structure_const / pi / b2 / Eg *
00088     (xi*K0*K1 - xi*xi*b2/2.0*(K1*K1-K0*K0));
00089   return n;
00090 }
00092 //
00093 G4double G4EMDissociationSpectrum::GetGeneralE2Spectrum
00094   (G4double Eg, G4double b, G4double bmin)
00095 {
00096   G4double b2 = b * b;
00097   G4double b4 = b2 * b2;
00098   G4double gg  = 1.0/std::sqrt(1.0-b2);
00099   G4double xi = Eg * bmin / gg / b / hbarc;
00100   G4double K0 = bessel->K0(xi);
00101   G4double K1 = bessel->K1(xi);
00102   G4double n  = 2.0 * fine_structure_const / pi / b4 / Eg *
00103     (2.0*(1.0-b2)*K1*K1 + xi*std::pow((2.0-b2),2.0)*K0*K1 -
00104      xi*xi*b4/2.0*(K1*K1-K0*K0));
00105   return n;
00106 }
00108 //
00109 G4double G4EMDissociationSpectrum::GetClosestApproach
00110   (const G4double AP, const G4double ZP, G4double AT, G4double ZT, G4double b)
00111 {
00112   G4double bsq     = b * b;
00113   G4double gg       = 1.0/std::sqrt(1-bsq);
00114   G4double AProot3 = std::pow(AP,1.0/3.0);
00115   G4double ATroot3 = std::pow(AT,1.0/3.0);
00116   G4double bc      = 1.34 * fermi * (AProot3+ATroot3 - 0.75 *(1.0/AProot3+1.0/ATroot3));
00117 //  G4double a0      = ZP * ZT * classic_electr_radius/bsq;
00118   G4double a0      = ZP * ZT * elm_coupling / (AT*AP*amu_c2/(AT+AP)) / bsq;
00119   G4double bmin    = 1.25 * bc + halfpi*a0/gg;
00120   return bmin;
00121 }
00123 //

Generated on Mon May 27 17:48:08 2013 for Geant4 by  doxygen 1.4.7