Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/cross_sections/include/G4PhotoNuclearCrossSection.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/cross_sections/include/G4PhotoNuclearCrossSection.hh (Version 11.3.0) and /processes/hadronic/cross_sections/include/G4PhotoNuclearCrossSection.hh (Version 3.0)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 //                                                
 27 // GEANT4 physics class: G4PhotoNuclearCrossSe    
 28 // Created: M.V. Kossov, CERN/ITEP(Moscow), 10    
 29 // The last update: M.V. Kossov, CERN/ITEP (Mo    
 30                                                   
 31 #ifndef G4PhotoNuclearCrossSection_h              
 32 #define G4PhotoNuclearCrossSection_h 1            
 33                                                   
 34 #include "G4VCrossSectionDataSet.hh"              
 35 #include "G4DynamicParticle.hh"                   
 36 #include "G4Element.hh"                           
 37 #include "G4ParticleTable.hh"                     
 38 #include "G4NucleiProperties.hh"                  
 39 #include "G4NistManager.hh"                       
 40 #include <vector>                                 
 41                                                   
 42 class G4PhotoNuclearCrossSection : public G4VC    
 43 {                                                 
 44 public:                                           
 45                                                   
 46     G4PhotoNuclearCrossSection();                 
 47     ~G4PhotoNuclearCrossSection() override;       
 48                                                   
 49     static const char* Default_Name() {return     
 50                                                   
 51     void CrossSectionDescription(std::ostream&    
 52                                                   
 53     G4bool IsIsoApplicable(const G4DynamicPart    
 54                            const G4Element* el    
 55          const G4Material* mat = nullptr) over    
 56                                                   
 57     G4bool IsElementApplicable(const G4Dynamic    
 58                                const G4Materia    
 59                                                   
 60     G4double GetIsoCrossSection(const G4Dynami    
 61                                 G4int Z, G4int    
 62                                 const G4Isotop    
 63                                 const G4Elemen    
 64                                 const G4Materi    
 65                                                   
 66     G4double GetElementCrossSection(const G4Dy    
 67                                     const G4Ma    
 68                                                   
 69     G4double ComputeElementXSection(G4double e    
 70                                                   
 71     G4double ComputeIsoXSection(G4double energ    
 72                                                   
 73     G4PhotoNuclearCrossSection& operator=         
 74     (const G4PhotoNuclearCrossSection& right)     
 75     G4PhotoNuclearCrossSection(const G4PhotoNu    
 76                                                   
 77 private:                                          
 78                                                   
 79     G4int GetFunctions(G4double a, G4double* y    
 80     G4double EquLinearFit(G4double X, G4int N,    
 81                           const G4double XD, c    
 82     G4double ThresholdEnergy(G4int Z, G4int N)    
 83                                                   
 84     G4int     lastZ = 0;         // The last Z    
 85     G4double  lastSig = 0.0;     // Last value    
 86     G4double* lastGDR = nullptr; // Pointer to    
 87     G4double* lastHEN = nullptr; // Pointer to    
 88     G4double  lastE = 0.0;       // Last used     
 89     G4double  lastTH = 0.0;      // Last value    
 90     G4double  lastSP = 0.0;      // Last value    
 91                                                   
 92     // Vector of pointers to the GDRPhotonucle    
 93     std::vector <G4double*> GDR;                  
 94                                                   
 95     // store deuteron, triton, He3 XS             
 96     G4double* deuteron_GDR = nullptr;             
 97     G4double* deuteron_HR = nullptr;              
 98     G4double deuteron_TH = 0.0;                   
 99     G4double deuteron_SP = 0.0;                   
100     G4double* triton_GDR = nullptr;               
101     G4double* triton_HR = nullptr;                
102     G4double triton_TH = 0.0;                     
103     G4double triton_SP = 0.0;                     
104     G4double* he3_GDR = nullptr;                  
105     G4double* he3_HR = nullptr;                   
106     G4double he3_TH = 0.0;                        
107     G4double he3_SP = 0.0;                        
108                                                   
109     // Vector of pointers to the HighEnPhotonu    
110     std::vector <G4double*> HEN;                  
111                                                   
112     std::vector <G4double> spA;  // shadowing     
113     std::vector <G4double> eTH;    // energy t    
114                                                   
115     G4NistManager* nistmngr;                      
116                                                   
117     G4double mNeut;                               
118     G4double mProt;                               
119 };                                                
120                                                   
121 #endif                                            
122