Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // INCL++ intra-nuclear cascade model 27 // Alain Boudard, CEA-Saclay, France 28 // Joseph Cugnon, University of Liege, Belgium 29 // Jean-Christophe David, CEA-Saclay, France 30 // Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland 31 // Sylvie Leray, CEA-Saclay, France 32 // Davide Mancusi, CEA-Saclay, France 33 // 34 #define INCLXX_IN_GEANT4_MODE 1 35 36 #include "globals.hh" 37 38 /** \file G4INCLGlobalInfo.hh 39 * \brief Simple container for output of calculation-wide results. 40 * 41 * Contains the final results of an INCL calculation. 42 * 43 * \date 21 January 2011 44 * \author Davide Mancusi 45 */ 46 47 #ifndef G4INCLGLOBALINFO_HH 48 #define G4INCLGLOBALINFO_HH 1 49 50 #ifdef INCL_ROOT_USE 51 #include <Rtypes.h> 52 #endif 53 54 #include <string> 55 #include <vector> 56 57 namespace G4INCL { 58 #ifndef INCL_ROOT_USE 59 typedef G4int Int_t; 60 typedef short Short_t; 61 typedef G4float Float_t; 62 #endif 63 64 struct GlobalInfo { 65 GlobalInfo() : 66 #ifdef INCL_ROOT_USE 67 68 #endif 69 Ap(0), 70 Zp(0), 71 Sp(0), 72 At(0), 73 Zt(0), 74 St(0), 75 Ep((Float_t)0.0), 76 nShots(0), 77 geometricCrossSection((Float_t)0.0), 78 biasFactor((Float_t)0.0), 79 nTransparents(0), 80 reactionCrossSection((Float_t)0.0), 81 errorReactionCrossSection((Float_t)0.0), 82 nNucleonAbsorptions(0), 83 nucleonAbsorptionCrossSection((Float_t)0.0), 84 nPionAbsorptions(0), 85 pionAbsorptionCrossSection((Float_t)0.0), 86 nForcedTransparents(0), 87 nForcedCompoundNucleus(0), 88 forcedCNCrossSection((Float_t)0.0), 89 errorForcedCNCrossSection((Float_t)0.0), 90 nCompleteFusion(0), 91 completeFusionCrossSection((Float_t)0.0), 92 errorCompleteFusionCrossSection((Float_t)0.0), 93 nEnergyViolationInteraction(0), 94 energyViolationInteractionCrossSection((Float_t)0.0) 95 { 96 #ifdef INCL_ROOT_USE 97 98 #endif 99 100 } 101 #ifdef INCL_ROOT_USE 102 /** \brief Selection string for an abridged version of the ROOT tree */ 103 std::string rootSelection; 104 #endif 105 /** \brief Name of the cascade model */ 106 std::string cascadeModel; 107 /** \brief Name of the de-excitation model */ 108 std::string deexcitationModel; 109 /** \brief Projectile mass number given as input */ 110 Short_t Ap; 111 /** \brief Projectile charge number given as input */ 112 Short_t Zp; 113 /** \brief Projectile strangeness number given as input */ 114 Short_t Sp; 115 /** \brief Target mass number given as input */ 116 Short_t At; 117 /** \brief Target charge number given as input */ 118 Short_t Zt; 119 /** \brief Target strangeness number given as input */ 120 Short_t St; 121 /** \brief Projectile kinetic energy given as input */ 122 Float_t Ep; 123 /** \brief Number of shots */ 124 Int_t nShots; 125 /** \brief Geometric cross section */ 126 Float_t geometricCrossSection; 127 /** \brief Bias factor */ 128 Float_t biasFactor; 129 /** \brief Number of transparent shots */ 130 Int_t nTransparents; 131 /** \brief Calculated reaction cross section */ 132 Float_t reactionCrossSection; 133 /** \brief Error on the calculated reaction cross section */ 134 Float_t errorReactionCrossSection; 135 /** \brief Number of nucleon absorptions (no outcoming particles) */ 136 Int_t nNucleonAbsorptions; 137 /** \brief Nucleon absorption cross section */ 138 Float_t nucleonAbsorptionCrossSection; 139 /** \brief Number of nucleon absorptions (no outcoming pions) */ 140 Int_t nPionAbsorptions; 141 /** \brief Pion absorption cross section */ 142 Float_t pionAbsorptionCrossSection; 143 /** \brief Number of forced transparents */ 144 Int_t nForcedTransparents; 145 /** \brief Number of forced compound-nucleus events */ 146 Int_t nForcedCompoundNucleus; 147 /** \brief Calculated forced-compound-nucleus cross section */ 148 Float_t forcedCNCrossSection; 149 /** \brief Error on the calculated forced-compound-nucleus cross section */ 150 Float_t errorForcedCNCrossSection; 151 /** \brief Number of complete-fusion events (nParticles==0) */ 152 Int_t nCompleteFusion; 153 /** \brief Calculated complete-fusion cross section (nParticles==0) */ 154 Float_t completeFusionCrossSection; 155 /** \brief Error on the calculated complete-fusion cross section (nParticles==0) */ 156 Float_t errorCompleteFusionCrossSection; 157 /** \brief Number of attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */ 158 Int_t nEnergyViolationInteraction; 159 /** \brief Cross section for attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */ 160 Float_t energyViolationInteractionCrossSection; 161 /** \brief Initial seeds for the pseudo-random-number generator */ 162 std::vector<Int_t> initialRandomSeeds; 163 /** \brief Final seeds for the pseudo-random-number generator */ 164 std::vector<Int_t> finalRandomSeeds; 165 }; 166 } 167 168 #endif /* G4INCLGLOBALINFO_HH */ 169