Back to home page

EIC code displayed by LXR

 
 

    


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

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 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 // INCL++ intra-nuclear cascade model
0027 // Alain Boudard, CEA-Saclay, France
0028 // Joseph Cugnon, University of Liege, Belgium
0029 // Jean-Christophe David, CEA-Saclay, France
0030 // Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
0031 // Sylvie Leray, CEA-Saclay, France
0032 // Davide Mancusi, CEA-Saclay, France
0033 //
0034 #define INCLXX_IN_GEANT4_MODE 1
0035 
0036 #include "globals.hh"
0037 
0038 /** \file G4INCLGlobalInfo.hh
0039  * \brief Simple container for output of calculation-wide results.
0040  *
0041  * Contains the final results of an INCL calculation.
0042  *
0043  * \date 21 January 2011
0044  * \author Davide Mancusi
0045  */
0046 
0047 #ifndef G4INCLGLOBALINFO_HH
0048 #define G4INCLGLOBALINFO_HH 1
0049 
0050 #ifdef INCL_ROOT_USE
0051 #include <Rtypes.h>
0052 #endif
0053 
0054 #include <string>
0055 #include <vector>
0056 
0057 namespace G4INCL {
0058 #ifndef INCL_ROOT_USE
0059     typedef G4int Int_t;
0060     typedef short Short_t;
0061     typedef G4float Float_t;
0062 #endif
0063 
0064     struct GlobalInfo {
0065       GlobalInfo() :
0066 #ifdef INCL_ROOT_USE
0067 
0068 #endif
0069         Ap(0),
0070         Zp(0),
0071         Sp(0),
0072         At(0),
0073         Zt(0),
0074         St(0),
0075         Ep((Float_t)0.0),
0076         nShots(0),
0077         geometricCrossSection((Float_t)0.0),
0078         biasFactor((Float_t)0.0),
0079         nTransparents(0),
0080         reactionCrossSection((Float_t)0.0),
0081         errorReactionCrossSection((Float_t)0.0),
0082         nNucleonAbsorptions(0),
0083         nucleonAbsorptionCrossSection((Float_t)0.0),
0084         nPionAbsorptions(0),
0085         pionAbsorptionCrossSection((Float_t)0.0),
0086         nForcedTransparents(0),
0087         nForcedCompoundNucleus(0),
0088         forcedCNCrossSection((Float_t)0.0),
0089         errorForcedCNCrossSection((Float_t)0.0),
0090         nCompleteFusion(0),
0091         completeFusionCrossSection((Float_t)0.0),
0092         errorCompleteFusionCrossSection((Float_t)0.0),
0093         nEnergyViolationInteraction(0),
0094         energyViolationInteractionCrossSection((Float_t)0.0)
0095       {
0096 #ifdef INCL_ROOT_USE
0097 
0098 #endif
0099 
0100       }
0101 #ifdef INCL_ROOT_USE
0102       /** \brief Selection string for an abridged version of the ROOT tree */
0103       std::string rootSelection;
0104 #endif
0105       /** \brief Name of the cascade model */
0106       std::string cascadeModel;
0107       /** \brief Name of the de-excitation model */
0108       std::string deexcitationModel;
0109       /** \brief Projectile mass number given as input */
0110       Short_t Ap;
0111       /** \brief Projectile charge number given as input */
0112       Short_t Zp;
0113       /** \brief Projectile strangeness number given as input */
0114       Short_t Sp;
0115       /** \brief Target mass number given as input */
0116       Short_t At;
0117       /** \brief Target charge number given as input */
0118       Short_t Zt;
0119       /** \brief Target strangeness number given as input */
0120       Short_t St;
0121       /** \brief Projectile kinetic energy given as input */
0122       Float_t Ep;
0123       /** \brief Number of shots */
0124       Int_t nShots;
0125       /** \brief Geometric cross section */
0126       Float_t geometricCrossSection;
0127       /** \brief Bias factor */
0128       Float_t biasFactor;
0129       /** \brief Number of transparent shots */
0130       Int_t nTransparents;
0131       /** \brief Calculated reaction cross section */
0132       Float_t reactionCrossSection;
0133       /** \brief Error on the calculated reaction cross section */
0134       Float_t errorReactionCrossSection;
0135       /** \brief Number of nucleon absorptions (no outcoming particles) */
0136       Int_t nNucleonAbsorptions;
0137       /** \brief Nucleon absorption cross section */
0138       Float_t nucleonAbsorptionCrossSection;
0139       /** \brief Number of nucleon absorptions (no outcoming pions) */
0140       Int_t nPionAbsorptions;
0141       /** \brief Pion absorption cross section */
0142       Float_t pionAbsorptionCrossSection;
0143       /** \brief Number of forced transparents */
0144       Int_t nForcedTransparents;
0145       /** \brief Number of forced compound-nucleus events */
0146       Int_t nForcedCompoundNucleus;
0147       /** \brief Calculated forced-compound-nucleus cross section */
0148       Float_t forcedCNCrossSection;
0149       /** \brief Error on the calculated forced-compound-nucleus cross section */
0150       Float_t errorForcedCNCrossSection;
0151       /** \brief Number of complete-fusion events (nParticles==0) */
0152       Int_t nCompleteFusion;
0153       /** \brief Calculated complete-fusion cross section (nParticles==0) */
0154       Float_t completeFusionCrossSection;
0155       /** \brief Error on the calculated complete-fusion cross section (nParticles==0) */
0156       Float_t errorCompleteFusionCrossSection;
0157       /** \brief Number of attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */
0158       Int_t nEnergyViolationInteraction;
0159       /** \brief Cross section for attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */
0160       Float_t energyViolationInteractionCrossSection;
0161       /** \brief Initial seeds for the pseudo-random-number generator */
0162       std::vector<Int_t> initialRandomSeeds;
0163       /** \brief Final seeds for the pseudo-random-number generator */
0164       std::vector<Int_t> finalRandomSeeds;
0165     };
0166 }
0167 
0168 #endif /* G4INCLGLOBALINFO_HH */