Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:58:12

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // *                                                                  *
0021 // * Parts of this code which have been  developed by QinetiQ Ltd     *
0022 // * under contract to the European Space Agency (ESA) are the        *
0023 // * intellectual property of ESA. Rights to use, copy, modify and    *
0024 // * redistribute this software for general public use are granted    *
0025 // * in compliance with any licensing, distribution and development   *
0026 // * policy adopted by the Geant4 Collaboration. This code has been   *
0027 // * written by QinetiQ Ltd for the European Space Agency, under ESA  *
0028 // * contract 17191/03/NL/LvH (Aurora Programme).                     *
0029 // *                                                                  *
0030 // * By using,  copying,  modifying or  distributing the software (or *
0031 // * any work based  on the software)  you  agree  to acknowledge its *
0032 // * use  in  resulting  scientific  publications,  and indicate your *
0033 // * acceptance of all terms of the Geant4 Software license.          *
0034 // ********************************************************************
0035 //
0036 #ifndef G4EMDissociationCrossSection_h
0037 #define G4EMDissociationCrossSection_h 1
0038 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0039 //
0040 // MODULE:      G4EMDissociationCrossSection.hh
0041 //
0042 // Version:     B.1
0043 // Date:        15/04/04
0044 // Author:      P R Truscott
0045 // Organisation:    QinetiQ Ltd, UK
0046 // Customer:        ESA/ESTEC, NOORDWIJK
0047 // Contract:        17191/03/NL/LvH
0048 //
0049 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0050 //
0051 // CHANGE HISTORY
0052 // --------------
0053 //
0054 // 17 October 2003, P R Truscott, QinetiQ Ltd, UK
0055 // Created.
0056 //
0057 // 15 March 2004, P R Truscott, QinetiQ Ltd, UK
0058 // Beta release
0059 //
0060 // 17 August 2011, V.Ivanchenko, provide migration to new design of cross 
0061 //                 sections considering this cross section as element-wise
0062 //
0063 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0064 ///////////////////////////////////////////////////////////////////////////////
0065 //
0066 #include "G4VCrossSectionDataSet.hh"
0067 #include "G4DynamicParticle.hh"
0068 #include "G4Element.hh"
0069 #include "G4ParticleDefinition.hh"
0070 #include "G4EMDissociationSpectrum.hh"
0071 #include "G4PhysicsFreeVector.hh"
0072 #include "globals.hh"
0073 
0074 ///////////////////////////////////////////////////////////////////////////////
0075 //
0076 
0077 class G4Material;
0078 
0079 class G4EMDissociationCrossSection : public G4VCrossSectionDataSet
0080 {
0081   public:
0082     G4EMDissociationCrossSection ();
0083     ~G4EMDissociationCrossSection ();
0084 
0085     virtual G4bool IsElementApplicable (const G4DynamicParticle*, G4int Z,
0086                     const G4Material*);
0087  
0088     virtual G4double GetElementCrossSection (const G4DynamicParticle *,
0089                          G4int Z, const G4Material *);
0090       
0091     G4PhysicsFreeVector * GetCrossSectionForProjectile
0092       (G4double, G4double, G4double, G4double, G4double, G4double);
0093     G4PhysicsFreeVector * GetCrossSectionForTarget
0094       (G4double, G4double, G4double, G4double, G4double, G4double);
0095     G4double GetWilsonProbabilityForProtonDissociation
0096       (G4double, G4double);
0097 
0098   private:
0099     G4EMDissociationSpectrum *thePhotonSpectrum;
0100     G4double                 r0;
0101     G4double                 J;
0102     G4double                 Qprime;
0103     G4double                 epsilon;
0104     G4double                 xd;
0105 };
0106 
0107 #endif