Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/inclxx/utils/include/G4INCLEventInfo.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/models/inclxx/utils/include/G4INCLEventInfo.hh (Version 11.3.0) and /processes/hadronic/models/inclxx/utils/include/G4INCLEventInfo.hh (Version 10.6.p3)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 // INCL++ intra-nuclear cascade model              26 // INCL++ intra-nuclear cascade model
 27 // Alain Boudard, CEA-Saclay, France               27 // Alain Boudard, CEA-Saclay, France
 28 // Joseph Cugnon, University of Liege, Belgium     28 // Joseph Cugnon, University of Liege, Belgium
 29 // Jean-Christophe David, CEA-Saclay, France       29 // Jean-Christophe David, CEA-Saclay, France
 30 // Pekka Kaitaniemi, CEA-Saclay, France, and H     30 // Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
 31 // Sylvie Leray, CEA-Saclay, France                31 // Sylvie Leray, CEA-Saclay, France
 32 // Davide Mancusi, CEA-Saclay, France              32 // Davide Mancusi, CEA-Saclay, France
 33 //                                                 33 //
 34 #define INCLXX_IN_GEANT4_MODE 1                    34 #define INCLXX_IN_GEANT4_MODE 1
 35                                                    35 
 36 #include "globals.hh"                              36 #include "globals.hh"
 37                                                    37 
 38 /** \file G4INCLEventInfo.hh                       38 /** \file G4INCLEventInfo.hh
 39  * \brief Simple container for output of event     39  * \brief Simple container for output of event results.
 40  *                                                 40  *
 41  * Contains the results of an INCL cascade.        41  * Contains the results of an INCL cascade.
 42  *                                                 42  *
 43  * \date 21 January 2011                           43  * \date 21 January 2011
 44  * \author Davide Mancusi                          44  * \author Davide Mancusi
 45  */                                                45  */
 46                                                    46 
 47 #ifndef G4INCLEVENTINFO_HH_HH                      47 #ifndef G4INCLEVENTINFO_HH_HH
 48 #define G4INCLEVENTINFO_HH_HH 1                    48 #define G4INCLEVENTINFO_HH_HH 1
 49                                                    49 
 50 #include "G4INCLParticleType.hh"                   50 #include "G4INCLParticleType.hh"
 51 #ifdef INCL_ROOT_USE                               51 #ifdef INCL_ROOT_USE
 52 #include <Rtypes.h>                                52 #include <Rtypes.h>
 53 #endif                                             53 #endif
 54 #include <string>                                  54 #include <string>
 55 #include <vector>                                  55 #include <vector>
 56 #include <algorithm>                               56 #include <algorithm>
 57                                                    57 
 58 namespace G4INCL {                                 58 namespace G4INCL {
 59 #ifndef INCL_ROOT_USE                              59 #ifndef INCL_ROOT_USE
 60     typedef G4int Int_t;                           60     typedef G4int Int_t;
 61     typedef short Short_t;                         61     typedef short Short_t;
 62     typedef G4float Float_t;                       62     typedef G4float Float_t;
 63     typedef G4double Double_t;                     63     typedef G4double Double_t;
 64     typedef G4bool Bool_t;                         64     typedef G4bool Bool_t;
 65 #endif                                             65 #endif
 66                                                    66 
 67     struct EventInfo {                             67     struct EventInfo {
 68       EventInfo() :                                68       EventInfo() :
 69         nParticles(0),                             69         nParticles(0),
 70         event(0),                              << 
 71         eventBias((Float_t)0.0),                   70         eventBias((Float_t)0.0),
 72         nRemnants(0),                              71         nRemnants(0),
 73         projectileType(0),                         72         projectileType(0),
 74         At(0),                                     73         At(0),
 75         Zt(0),                                     74         Zt(0),
 76         St(0),                                     75         St(0),
 77         Ap(0),                                     76         Ap(0),
 78         Zp(0),                                     77         Zp(0),
 79         Sp(0),                                     78         Sp(0),
 80         Ep((Float_t)0.0),                          79         Ep((Float_t)0.0),
 81         impactParameter((Float_t)0.0),             80         impactParameter((Float_t)0.0),
 82         nCollisions(0),                            81         nCollisions(0),
 83         stoppingTime((Float_t)0.0),                82         stoppingTime((Float_t)0.0),
 84         EBalance((Float_t)0.0),                    83         EBalance((Float_t)0.0),
 85         firstEBalance((Float_t)0.0),           << 
 86         pLongBalance((Float_t)0.0),                84         pLongBalance((Float_t)0.0),
 87         pTransBalance((Float_t)0.0),               85         pTransBalance((Float_t)0.0),
 88         nCascadeParticles(0),                      86         nCascadeParticles(0),
 89         transparent(false),                        87         transparent(false),
 90         annihilationP(false),                  << 
 91         annihilationN(false),                  << 
 92         forcedCompoundNucleus(false),              88         forcedCompoundNucleus(false),
 93         nucleonAbsorption(false),                  89         nucleonAbsorption(false),
 94         pionAbsorption(false),                     90         pionAbsorption(false),
 95         nDecays(0),                                91         nDecays(0),
 96         nSrcCollisions(0),                     << 
 97         nSrcPairs(0),                          << 
 98         nBlockedCollisions(0),                     92         nBlockedCollisions(0),
 99         nBlockedDecays(0),                         93         nBlockedDecays(0),
100         effectiveImpactParameter((Float_t)0.0)     94         effectiveImpactParameter((Float_t)0.0),
101         deltasInside(false),                       95         deltasInside(false),
102         sigmasInside(false),                       96         sigmasInside(false),
103         kaonsInside(false),                        97         kaonsInside(false),
104         antikaonsInside(false),                    98         antikaonsInside(false),
105         lambdasInside(false),                      99         lambdasInside(false),
106         forcedDeltasInside(false),                100         forcedDeltasInside(false),
107         forcedDeltasOutside(false),               101         forcedDeltasOutside(false),
108         forcedPionResonancesOutside(false),       102         forcedPionResonancesOutside(false),
109         absorbedStrangeParticle(false),           103         absorbedStrangeParticle(false),
110         forcedSigmaOutside(false),                104         forcedSigmaOutside(false),
111         forcedStrangeInside(false),               105         forcedStrangeInside(false),
112         emitLambda(0),                            106         emitLambda(0),
113         emitKaon(false),                          107         emitKaon(false),
114         clusterDecay(false),                      108         clusterDecay(false),
115         firstCollisionTime((Float_t)0.0),         109         firstCollisionTime((Float_t)0.0),
116         firstCollisionXSec((Float_t)0.0),         110         firstCollisionXSec((Float_t)0.0),
117         firstCollisionSpectatorPosition((Float    111         firstCollisionSpectatorPosition((Float_t)0.0),
118         firstCollisionSpectatorMomentum((Float    112         firstCollisionSpectatorMomentum((Float_t)0.0),
119         firstCollisionIsElastic(false),           113         firstCollisionIsElastic(false),
120         nReflectionAvatars(0),                    114         nReflectionAvatars(0),
121         nCollisionAvatars(0),                     115         nCollisionAvatars(0),
122         nDecayAvatars(0),                         116         nDecayAvatars(0),
123         nUnmergedSpectators(0),                   117         nUnmergedSpectators(0),
124         nEnergyViolationInteraction(0)         << 118         nEnergyViolationInteraction(0),
                                                   >> 119         event(0)
125                                                   120 
126       {                                           121       {
127         std::fill_n(A, maxSizeParticles, 0);      122         std::fill_n(A, maxSizeParticles, 0);
128         std::fill_n(Z, maxSizeParticles, 0);      123         std::fill_n(Z, maxSizeParticles, 0);
129         std::fill_n(S, maxSizeParticles, 0);      124         std::fill_n(S, maxSizeParticles, 0);
130         std::fill_n(J, maxSizeParticles, 0);   << 
131         std::fill_n(PDGCode, maxSizeParticles,    125         std::fill_n(PDGCode, maxSizeParticles, 0);
132         std::fill_n(ParticleBias, maxSizeParti    126         std::fill_n(ParticleBias, maxSizeParticles, (Float_t)0.0);
133         std::fill_n(EKin, maxSizeParticles, (F    127         std::fill_n(EKin, maxSizeParticles, (Float_t)0.0);
134         std::fill_n(px, maxSizeParticles, (Flo    128         std::fill_n(px, maxSizeParticles, (Float_t)0.0);
135         std::fill_n(py, maxSizeParticles, (Flo    129         std::fill_n(py, maxSizeParticles, (Float_t)0.0);
136         std::fill_n(pz, maxSizeParticles, (Flo    130         std::fill_n(pz, maxSizeParticles, (Float_t)0.0);
137         std::fill_n(theta, maxSizeParticles, (    131         std::fill_n(theta, maxSizeParticles, (Float_t)0.0);
138         std::fill_n(phi, maxSizeParticles, (Fl    132         std::fill_n(phi, maxSizeParticles, (Float_t)0.0);
139         std::fill_n(origin, maxSizeParticles,     133         std::fill_n(origin, maxSizeParticles, 0);
140         std::fill_n(parentResonancePDGCode, ma << 
141         std::fill_n(parentResonanceID, maxSize << 
142         std::fill_n(emissionTime, maxSizeParti    134         std::fill_n(emissionTime, maxSizeParticles, (Float_t)0.0);
143         std::fill_n(ARem, maxSizeRemnants, 0);    135         std::fill_n(ARem, maxSizeRemnants, 0);
144         std::fill_n(ZRem, maxSizeRemnants, 0);    136         std::fill_n(ZRem, maxSizeRemnants, 0);
145         std::fill_n(SRem, maxSizeRemnants, 0);    137         std::fill_n(SRem, maxSizeRemnants, 0);
146         std::fill_n(EStarRem, maxSizeRemnants,    138         std::fill_n(EStarRem, maxSizeRemnants, (Float_t)0.0);
147         std::fill_n(JRem, maxSizeRemnants, (Fl    139         std::fill_n(JRem, maxSizeRemnants, (Float_t)0.0);
148         std::fill_n(EKinRem, maxSizeRemnants,     140         std::fill_n(EKinRem, maxSizeRemnants, (Float_t)0.0);
149         std::fill_n(pxRem, maxSizeRemnants, (F    141         std::fill_n(pxRem, maxSizeRemnants, (Float_t)0.0);
150         std::fill_n(pyRem, maxSizeRemnants, (F    142         std::fill_n(pyRem, maxSizeRemnants, (Float_t)0.0);
151         std::fill_n(pzRem, maxSizeRemnants, (F    143         std::fill_n(pzRem, maxSizeRemnants, (Float_t)0.0);
152         std::fill_n(thetaRem, maxSizeRemnants,    144         std::fill_n(thetaRem, maxSizeRemnants, (Float_t)0.0);
153         std::fill_n(phiRem, maxSizeRemnants, (    145         std::fill_n(phiRem, maxSizeRemnants, (Float_t)0.0);
154         std::fill_n(jxRem, maxSizeRemnants, (F    146         std::fill_n(jxRem, maxSizeRemnants, (Float_t)0.0);
155         std::fill_n(jyRem, maxSizeRemnants, (F    147         std::fill_n(jyRem, maxSizeRemnants, (Float_t)0.0);
156         std::fill_n(jzRem, maxSizeRemnants, (F    148         std::fill_n(jzRem, maxSizeRemnants, (Float_t)0.0);
157         std::fill_n(EKinPrime, maxSizeParticle    149         std::fill_n(EKinPrime, maxSizeParticles, (Float_t)0.0);
158         std::fill_n(pzPrime, maxSizeParticles,    150         std::fill_n(pzPrime, maxSizeParticles, (Float_t)0.0);
159         std::fill_n(thetaPrime, maxSizeParticl    151         std::fill_n(thetaPrime, maxSizeParticles, (Float_t)0.0);
160       }                                           152       }
161                                                   153 
162       /** \brief Number of the event */           154       /** \brief Number of the event */
163       static G4ThreadLocal Int_t eventNumber;     155       static G4ThreadLocal Int_t eventNumber;
164                                                   156 
165       /** \brief Maximum array size for remnan    157       /** \brief Maximum array size for remnants */
166       static const Short_t maxSizeRemnants = 1    158       static const Short_t maxSizeRemnants = 10;
167                                                   159 
168       /** \brief Maximum array size for emitte    160       /** \brief Maximum array size for emitted particles */
169       static const Short_t maxSizeParticles =     161       static const Short_t maxSizeParticles = 1000;
170                                                   162 
171       /** \brief Number of particles in the fi    163       /** \brief Number of particles in the final state */
172       Short_t nParticles;                         164       Short_t nParticles;
173       /** \brief Sequential number of the even << 
174       Int_t event;                             << 
175       /** \brief Particle mass number */          165       /** \brief Particle mass number */
176       Short_t A[maxSizeParticles];                166       Short_t A[maxSizeParticles];
177       /** \brief Particle charge number */        167       /** \brief Particle charge number */
178       Short_t Z[maxSizeParticles];                168       Short_t Z[maxSizeParticles];
179       /** \brief Particle strangeness number *    169       /** \brief Particle strangeness number */
180       Short_t S[maxSizeParticles];                170       Short_t S[maxSizeParticles];
181       /** \brief Particle angular momemtum */  << 
182       Short_t J[maxSizeParticles];             << 
183       /** \brief PDG numbering of the particle    171       /** \brief PDG numbering of the particles */
184       Int_t PDGCode[maxSizeParticles];            172       Int_t PDGCode[maxSizeParticles];
185       /** \brief Event bias */                 << 
186       Float_t eventBias;                       << 
187       /** \brief Particle weight due to the bi    173       /** \brief Particle weight due to the bias */
188       Float_t ParticleBias[maxSizeParticles];     174       Float_t ParticleBias[maxSizeParticles];
                                                   >> 175       /** \brief Event bias */
                                                   >> 176       Float_t eventBias;
189       /** \brief Particle kinetic energy [MeV]    177       /** \brief Particle kinetic energy [MeV] */
190       Float_t EKin[maxSizeParticles];             178       Float_t EKin[maxSizeParticles];
191       /** \brief Particle momentum, x componen    179       /** \brief Particle momentum, x component [MeV/c] */
192       Float_t px[maxSizeParticles];               180       Float_t px[maxSizeParticles];
193       /** \brief Particle momentum, y componen    181       /** \brief Particle momentum, y component [MeV/c] */
194       Float_t py[maxSizeParticles];               182       Float_t py[maxSizeParticles];
195       /** \brief Particle momentum, z componen    183       /** \brief Particle momentum, z component [MeV/c] */
196       Float_t pz[maxSizeParticles];               184       Float_t pz[maxSizeParticles];
197       /** \brief Particle momentum polar angle    185       /** \brief Particle momentum polar angle [radians] */
198       Float_t theta[maxSizeParticles];            186       Float_t theta[maxSizeParticles];
199       /** \brief Particle momentum azimuthal a    187       /** \brief Particle momentum azimuthal angle [radians] */
200       Float_t phi[maxSizeParticles];              188       Float_t phi[maxSizeParticles];
201       /** \brief Origin of the particle           189       /** \brief Origin of the particle
202        *                                          190        *
203        * Should be -1 for cascade particles, o    191        * Should be -1 for cascade particles, or the number of the remnant for
204        * de-excitation particles. */              192        * de-excitation particles. */
205       Short_t origin[maxSizeParticles];           193       Short_t origin[maxSizeParticles];
206       /** \brief Particle's parent resonance P << 194       /** \brief Emission time [fm/c] */
207       Int_t parentResonancePDGCode[maxSizePart << 195       Float_t emissionTime[maxSizeParticles];
208       /** \brief Particle's parent resonance u << 
209       Int_t parentResonanceID[maxSizeParticles << 
210       /** \brief History of the particle          196       /** \brief History of the particle
211        *                                          197        *
212        * Condensed information about the de-ex    198        * Condensed information about the de-excitation chain of a particle. For
213        * cascade particles, it is just an empt    199        * cascade particles, it is just an empty string. For particles arising
214        * from the de-excitation of a cascade r    200        * from the de-excitation of a cascade remnant, it is a string of
215        * characters. Each character represents    201        * characters. Each character represents one or more identical steps in
216        * the de-excitation process. The curren    202        * the de-excitation process. The currently defined possible character
217        * values and their meanings are the fol    203        * values and their meanings are the following:
218        *                                          204        *
219        * e: evaporation product                   205        * e: evaporation product
220        * E: evaporation residue                   206        * E: evaporation residue
221        * m: multifragmentation                    207        * m: multifragmentation
222        * a: light partner in asymmetric fissio    208        * a: light partner in asymmetric fission or IMF emission
223        * A: heavy partner in asymmetric fissio    209        * A: heavy partner in asymmetric fission or IMF emission
224        * f: light partner in fission              210        * f: light partner in fission
225        * F: heavy partner in fission              211        * F: heavy partner in fission
226        * s: saddle-to-scission emission           212        * s: saddle-to-scission emission
227        * n: non-statistical emission (decay) *    213        * n: non-statistical emission (decay) */
228       std::vector<std::string> history;           214       std::vector<std::string> history;
229       /** \brief Number of remnants */            215       /** \brief Number of remnants */
230       Short_t nRemnants;                          216       Short_t nRemnants;
                                                   >> 217       /** \brief Remnant mass number */
                                                   >> 218       Short_t ARem[maxSizeRemnants];
                                                   >> 219       /** \brief Remnant charge number */
                                                   >> 220       Short_t ZRem[maxSizeRemnants];
                                                   >> 221       /** \brief Remnant strangeness number */
                                                   >> 222       Short_t SRem[maxSizeRemnants];
                                                   >> 223       /** \brief Remnant excitation energy [MeV] */
                                                   >> 224       Float_t EStarRem[maxSizeRemnants];
                                                   >> 225       /** \brief Remnant spin [\f$\hbar\f$] */
                                                   >> 226       Float_t JRem[maxSizeRemnants];
                                                   >> 227       /** \brief Remnant kinetic energy [MeV] */
                                                   >> 228       Float_t EKinRem[maxSizeRemnants];
                                                   >> 229       /** \brief Remnant momentum, x component [MeV/c] */
                                                   >> 230       Float_t pxRem[maxSizeRemnants];
                                                   >> 231       /** \brief Remnant momentum, y component [MeV/c] */
                                                   >> 232       Float_t pyRem[maxSizeRemnants];
                                                   >> 233       /** \brief Remnant momentum, z component [MeV/c] */
                                                   >> 234       Float_t pzRem[maxSizeRemnants];
                                                   >> 235       /** \brief Remnant momentum polar angle [radians] */
                                                   >> 236       Float_t thetaRem[maxSizeRemnants];
                                                   >> 237       /** \brief Remnant momentum azimuthal angle [radians] */
                                                   >> 238       Float_t phiRem[maxSizeRemnants];
                                                   >> 239       /** \brief Remnant angular momentum, x component [\f$\hbar\f$] */
                                                   >> 240       Float_t jxRem[maxSizeRemnants];
                                                   >> 241       /** \brief Remnant angular momentum, y component [\f$\hbar\f$] */
                                                   >> 242       Float_t jyRem[maxSizeRemnants];
                                                   >> 243       /** \brief Remnant angular momentum, z component [\f$\hbar\f$] */
                                                   >> 244       Float_t jzRem[maxSizeRemnants];
231       /** \brief Projectile particle type */      245       /** \brief Projectile particle type */
232       Int_t projectileType;                       246       Int_t projectileType;
233       /** \brief Mass number of the target nuc    247       /** \brief Mass number of the target nucleus */
234       Short_t At;                                 248       Short_t At;
235       /** \brief Charge number of the target n    249       /** \brief Charge number of the target nucleus */
236       Short_t Zt;                                 250       Short_t Zt;
237       /** \brief Strangeness number of the tar    251       /** \brief Strangeness number of the target nucleus */
238       Short_t St;                                 252       Short_t St;
239       /** \brief Mass number of the projectile    253       /** \brief Mass number of the projectile nucleus */
240       Short_t Ap;                                 254       Short_t Ap;
241       /** \brief Charge number of the projecti    255       /** \brief Charge number of the projectile nucleus */
242       Short_t Zp;                                 256       Short_t Zp;
243       /** \brief Strangeness number of the pro    257       /** \brief Strangeness number of the projectile nucleus */
244       Short_t Sp;                                 258       Short_t Sp;
245       /** \brief Projectile kinetic energy giv    259       /** \brief Projectile kinetic energy given as input */
246       Float_t Ep;                                 260       Float_t Ep;
247       /** \brief Impact parameter [fm] */         261       /** \brief Impact parameter [fm] */
248       Float_t impactParameter;                    262       Float_t impactParameter;
249       /** \brief Number of accepted two-body c    263       /** \brief Number of accepted two-body collisions */
250       Int_t nCollisions;                          264       Int_t nCollisions;
251       /** \brief Cascade stopping time [fm/c]     265       /** \brief Cascade stopping time [fm/c] */
252       Float_t stoppingTime;                       266       Float_t stoppingTime;
253       /** \brief Energy-conservation balance [    267       /** \brief Energy-conservation balance [MeV] */
254       Float_t EBalance;                           268       Float_t EBalance;
255       /** \brief First value for the energy-co << 
256       Float_t firstEBalance;                   << 
257       /** \brief Longitudinal momentum-conserv    269       /** \brief Longitudinal momentum-conservation balance [MeV/c] */
258       Float_t pLongBalance;                       270       Float_t pLongBalance;
259       /** \brief Transverse momentum-conservat    271       /** \brief Transverse momentum-conservation balance [MeV/c] */
260       Float_t pTransBalance;                      272       Float_t pTransBalance;
261       /** \brief Number of cascade particles *    273       /** \brief Number of cascade particles */
262       Short_t nCascadeParticles;                  274       Short_t nCascadeParticles;
263       /** \brief True if the event is transpar    275       /** \brief True if the event is transparent */
264       Bool_t transparent;                         276       Bool_t transparent;
265       /** \brief True if annihilation at rest  << 
266       Bool_t annihilationP;                    << 
267       /** \brief True if annihilation at rest  << 
268       Bool_t annihilationN;                    << 
269       /** \brief True if the event is a forced    277       /** \brief True if the event is a forced CN */
270       Bool_t forcedCompoundNucleus;               278       Bool_t forcedCompoundNucleus;
271       /** \brief True if the event is a nucleo    279       /** \brief True if the event is a nucleon absorption */
272       Bool_t nucleonAbsorption;                   280       Bool_t nucleonAbsorption;
273       /** \brief True if the event is a pion a    281       /** \brief True if the event is a pion absorption */
274       Bool_t pionAbsorption;                      282       Bool_t pionAbsorption;
275       /** \brief Number of accepted Delta deca    283       /** \brief Number of accepted Delta decays */
276       Int_t nDecays;                              284       Int_t nDecays;
277       /** \brief Number of accepted SRC collis << 
278       Int_t nSrcCollisions;                    << 
279       /** \brief Number of src pairs */        << 
280       Int_t nSrcPairs;                         << 
281       /** \brief Number of two-body collisions    285       /** \brief Number of two-body collisions blocked by Pauli or CDPP */
282       Int_t nBlockedCollisions;                   286       Int_t nBlockedCollisions;
283       /** \brief Number of decays blocked by P    287       /** \brief Number of decays blocked by Pauli or CDPP */
284       Int_t nBlockedDecays;                       288       Int_t nBlockedDecays;
285       /** \brief Effective (Coulomb-distorted)    289       /** \brief Effective (Coulomb-distorted) impact parameter [fm] */
286       Float_t effectiveImpactParameter;           290       Float_t effectiveImpactParameter;
287       /** \brief Event involved deltas in the     291       /** \brief Event involved deltas in the nucleus at the end of the cascade */
288       Bool_t deltasInside;                        292       Bool_t deltasInside;
289       /** \brief Event involved sigmas in the     293       /** \brief Event involved sigmas in the nucleus at the end of the cascade */
290       Bool_t sigmasInside;                        294       Bool_t sigmasInside;
291       /** \brief Event involved kaons in the n    295       /** \brief Event involved kaons in the nucleus at the end of the cascade */
292       Bool_t kaonsInside;                         296       Bool_t kaonsInside;
293       /** \brief Event involved antikaons in t    297       /** \brief Event involved antikaons in the nucleus at the end of the cascade */
294       Bool_t antikaonsInside;                     298       Bool_t antikaonsInside;
295       /** \brief Event involved lambdas in the    299       /** \brief Event involved lambdas in the nucleus at the end of the cascade */
296       Bool_t lambdasInside;                       300       Bool_t lambdasInside;
297       /** \brief Event involved forced delta d    301       /** \brief Event involved forced delta decays inside the nucleus */
298       Bool_t forcedDeltasInside;                  302       Bool_t forcedDeltasInside;
299       /** \brief Event involved forced delta d    303       /** \brief Event involved forced delta decays outside the nucleus */
300       Bool_t forcedDeltasOutside;                 304       Bool_t forcedDeltasOutside;
301       /** \brief Event involved forced eta/ome    305       /** \brief Event involved forced eta/omega decays outside the nucleus */
302       Bool_t forcedPionResonancesOutside;         306       Bool_t forcedPionResonancesOutside;
303       /** \brief Event involved forced strange << 307       /** \brief Event involved forced strange absorbtion inside the nucleus */
304       Bool_t absorbedStrangeParticle;             308       Bool_t absorbedStrangeParticle;
305       /** \brief Event involved forced Sigma Z    309       /** \brief Event involved forced Sigma Zero decays outside the nucleus */
306       Bool_t forcedSigmaOutside;                  310       Bool_t forcedSigmaOutside;
307       /** \brief Event involved forced antiKao << 311       /** \brief Event involved forced antiKaon/Sigma absorbtion inside the nucleus */
308       Bool_t forcedStrangeInside;                 312       Bool_t forcedStrangeInside;
309       /** \brief Number of forced Lambda emit     313       /** \brief Number of forced Lambda emit out of the nucleus */
310       Int_t emitLambda;                           314       Int_t emitLambda;
311       /** \brief Event involved forced Kaon em    315       /** \brief Event involved forced Kaon emission */
312       Bool_t emitKaon;                            316       Bool_t emitKaon;
313       /** \brief Event involved cluster decay     317       /** \brief Event involved cluster decay */
314       Bool_t clusterDecay;                        318       Bool_t clusterDecay;
315       /** \brief Time of the first collision [    319       /** \brief Time of the first collision [fm/c] */
316       Float_t firstCollisionTime;                 320       Float_t firstCollisionTime;
317       /** \brief Cross section of the first co    321       /** \brief Cross section of the first collision (mb) */
318       Float_t firstCollisionXSec;                 322       Float_t firstCollisionXSec;
319       /** \brief Position of the spectator on     323       /** \brief Position of the spectator on the first collision (fm) */
320       Float_t firstCollisionSpectatorPosition;    324       Float_t firstCollisionSpectatorPosition;
321       /** \brief Momentum of the spectator on     325       /** \brief Momentum of the spectator on the first collision (fm) */
322       Float_t firstCollisionSpectatorMomentum;    326       Float_t firstCollisionSpectatorMomentum;
323       /** \brief True if the first collision w    327       /** \brief True if the first collision was elastic */
324       Bool_t firstCollisionIsElastic;             328       Bool_t firstCollisionIsElastic;
325       /** \brief Number of reflection avatars     329       /** \brief Number of reflection avatars */
326       Int_t nReflectionAvatars;                   330       Int_t nReflectionAvatars;
327       /** \brief Number of collision avatars *    331       /** \brief Number of collision avatars */
328       Int_t nCollisionAvatars;                    332       Int_t nCollisionAvatars;
329       /** \brief Number of decay avatars */       333       /** \brief Number of decay avatars */
330       Int_t nDecayAvatars;                        334       Int_t nDecayAvatars;
331       /** \brief Number of dynamical spectator    335       /** \brief Number of dynamical spectators that were merged back into the projectile remnant */
332       Int_t nUnmergedSpectators;                  336       Int_t nUnmergedSpectators;
333       /** \brief Number of attempted collision    337       /** \brief Number of attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */
334       Int_t nEnergyViolationInteraction;          338       Int_t nEnergyViolationInteraction;
335       /** \brief Emission time [fm/c] */       << 339       /** \brief Sequential number of the event in the event loop */
336       Float_t emissionTime[maxSizeParticles];  << 340       Int_t event;
337       /** \brief Remnant mass number */        << 
338       Short_t ARem[maxSizeRemnants];           << 
339       /** \brief Remnant charge number */      << 
340       Short_t ZRem[maxSizeRemnants];           << 
341       /** \brief Remnant strangeness number */ << 
342       Short_t SRem[maxSizeRemnants];           << 
343       /** \brief Remnant excitation energy [Me << 
344       Float_t EStarRem[maxSizeRemnants];       << 
345       /** \brief Remnant spin [\f$\hbar\f$] */ << 
346       Float_t JRem[maxSizeRemnants];           << 
347       /** \brief Remnant kinetic energy [MeV]  << 
348       Float_t EKinRem[maxSizeRemnants];        << 
349       /** \brief Remnant momentum, x component << 
350       Float_t pxRem[maxSizeRemnants];          << 
351       /** \brief Remnant momentum, y component << 
352       Float_t pyRem[maxSizeRemnants];          << 
353       /** \brief Remnant momentum, z component << 
354       Float_t pzRem[maxSizeRemnants];          << 
355       /** \brief Remnant momentum polar angle  << 
356       Float_t thetaRem[maxSizeRemnants];       << 
357       /** \brief Remnant momentum azimuthal an << 
358       Float_t phiRem[maxSizeRemnants];         << 
359       /** \brief Remnant angular momentum, x c << 
360       Float_t jxRem[maxSizeRemnants];          << 
361       /** \brief Remnant angular momentum, y c << 
362       Float_t jyRem[maxSizeRemnants];          << 
363       /** \brief Remnant angular momentum, z c << 
364       Float_t jzRem[maxSizeRemnants];          << 
365       /** \brief Particle kinetic energy, in i    341       /** \brief Particle kinetic energy, in inverse kinematics [MeV] */
366       Float_t EKinPrime[maxSizeParticles];        342       Float_t EKinPrime[maxSizeParticles];
367       /** \brief Particle momentum, z componen    343       /** \brief Particle momentum, z component, in inverse kinematics [MeV/c] */
368       Float_t pzPrime[maxSizeParticles];          344       Float_t pzPrime[maxSizeParticles];
369       /** \brief Particle momentum polar angle    345       /** \brief Particle momentum polar angle, in inverse kinematics [radians] */
370       Float_t thetaPrime[maxSizeParticles];       346       Float_t thetaPrime[maxSizeParticles];
371                                                   347 
372       /** \brief Reset the EventInfo members *    348       /** \brief Reset the EventInfo members */
373       void reset() {                              349       void reset() {
374         nParticles = 0;                           350         nParticles = 0;
375         event = 0;                             << 
376         eventBias = (Float_t)0.0;                 351         eventBias = (Float_t)0.0;
377         history.clear();                          352         history.clear();
378         nRemnants = 0;                            353         nRemnants = 0;
379         projectileType = 0;                       354         projectileType = 0;
380         At = 0;                                   355         At = 0;
381         Zt = 0;                                   356         Zt = 0;
382         St = 0;                                   357         St = 0;
383         Ap = 0;                                   358         Ap = 0;
384         Zp = 0;                                   359         Zp = 0;
385         Sp = 0;                                   360         Sp = 0;
386         Ep = (Float_t)0.0;                        361         Ep = (Float_t)0.0;
387         impactParameter = (Float_t)0.0;           362         impactParameter = (Float_t)0.0;
388         nCollisions = 0;                          363         nCollisions = 0;
389         stoppingTime = (Float_t)0.0;              364         stoppingTime = (Float_t)0.0;
390         EBalance = (Float_t)0.0;                  365         EBalance = (Float_t)0.0;
391         firstEBalance = (Float_t)0.0;          << 
392         pLongBalance = (Float_t)0.0;              366         pLongBalance = (Float_t)0.0;
393         pTransBalance = (Float_t)0.0;             367         pTransBalance = (Float_t)0.0;
394         nCascadeParticles = 0;                    368         nCascadeParticles = 0;
395         transparent = false;                      369         transparent = false;
396         annihilationP = false;                 << 
397         annihilationN = false;                 << 
398         forcedCompoundNucleus = false;            370         forcedCompoundNucleus = false;
399         nucleonAbsorption = false;                371         nucleonAbsorption = false;
400         pionAbsorption = false;                   372         pionAbsorption = false;
401         nDecays = 0;                              373         nDecays = 0;
402         nSrcCollisions = 0;                    << 
403         nSrcPairs = 0;                         << 
404         nBlockedCollisions = 0;                   374         nBlockedCollisions = 0;
405         nBlockedDecays = 0;                       375         nBlockedDecays = 0;
406         effectiveImpactParameter = (Float_t)0.    376         effectiveImpactParameter = (Float_t)0.0;
407         deltasInside = false;                     377         deltasInside = false;
408         sigmasInside = false;                     378         sigmasInside = false;
409         kaonsInside = false;                      379         kaonsInside = false;
410         antikaonsInside = false;                  380         antikaonsInside = false;
411         lambdasInside = false;                    381         lambdasInside = false;
412         forcedDeltasInside = false;               382         forcedDeltasInside = false;
413         forcedDeltasOutside = false;              383         forcedDeltasOutside = false;
414         forcedPionResonancesOutside = false;      384         forcedPionResonancesOutside = false;
415         absorbedStrangeParticle = false;          385         absorbedStrangeParticle = false;
416         forcedSigmaOutside = false;               386         forcedSigmaOutside = false;
417         forcedStrangeInside = false;              387         forcedStrangeInside = false;
418         emitLambda = 0;                           388         emitLambda = 0;
419         emitKaon = false;                         389         emitKaon = false;
420         clusterDecay = false;                     390         clusterDecay = false;
421         firstCollisionTime = (Float_t)0.0;        391         firstCollisionTime = (Float_t)0.0;
422         firstCollisionXSec = (Float_t)0.0;        392         firstCollisionXSec = (Float_t)0.0;
423         firstCollisionSpectatorPosition = (Flo    393         firstCollisionSpectatorPosition = (Float_t)0.0;
424         firstCollisionSpectatorMomentum = (Flo    394         firstCollisionSpectatorMomentum = (Float_t)0.0;
425         firstCollisionIsElastic = false;          395         firstCollisionIsElastic = false;
426         nReflectionAvatars = 0;                   396         nReflectionAvatars = 0;
427         nCollisionAvatars = 0;                    397         nCollisionAvatars = 0;
428         nDecayAvatars = 0;                        398         nDecayAvatars = 0;
429         nUnmergedSpectators = 0;                  399         nUnmergedSpectators = 0;
430         nEnergyViolationInteraction = 0;          400         nEnergyViolationInteraction = 0;
                                                   >> 401         event = 0;
431                                                   402 
432       }                                           403       }
433                                                   404 
434       /// \brief Move a remnant to the particl    405       /// \brief Move a remnant to the particle array
435       void remnantToParticle(const G4int remna    406       void remnantToParticle(const G4int remnantIndex);
436                                                   407 
437       /// \brief Fill the variables describing    408       /// \brief Fill the variables describing the reaction in inverse kinematics
438       void fillInverseKinematics(const Double_    409       void fillInverseKinematics(const Double_t gamma);
439     };                                            410     };
440 }                                                 411 }
441                                                   412 
442 #endif /* G4INCLEVENTINFO_HH_HH */                413 #endif /* G4INCLEVENTINFO_HH_HH */
443                                                   414