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 11.1.1)


  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    134         std::fill_n(parentResonancePDGCode, maxSizeParticles, 0);
141         std::fill_n(parentResonanceID, maxSize    135         std::fill_n(parentResonanceID, maxSizeParticles, 0);
142         std::fill_n(emissionTime, maxSizeParti    136         std::fill_n(emissionTime, maxSizeParticles, (Float_t)0.0);
143         std::fill_n(ARem, maxSizeRemnants, 0);    137         std::fill_n(ARem, maxSizeRemnants, 0);
144         std::fill_n(ZRem, maxSizeRemnants, 0);    138         std::fill_n(ZRem, maxSizeRemnants, 0);
145         std::fill_n(SRem, maxSizeRemnants, 0);    139         std::fill_n(SRem, maxSizeRemnants, 0);
146         std::fill_n(EStarRem, maxSizeRemnants,    140         std::fill_n(EStarRem, maxSizeRemnants, (Float_t)0.0);
147         std::fill_n(JRem, maxSizeRemnants, (Fl    141         std::fill_n(JRem, maxSizeRemnants, (Float_t)0.0);
148         std::fill_n(EKinRem, maxSizeRemnants,     142         std::fill_n(EKinRem, maxSizeRemnants, (Float_t)0.0);
149         std::fill_n(pxRem, maxSizeRemnants, (F    143         std::fill_n(pxRem, maxSizeRemnants, (Float_t)0.0);
150         std::fill_n(pyRem, maxSizeRemnants, (F    144         std::fill_n(pyRem, maxSizeRemnants, (Float_t)0.0);
151         std::fill_n(pzRem, maxSizeRemnants, (F    145         std::fill_n(pzRem, maxSizeRemnants, (Float_t)0.0);
152         std::fill_n(thetaRem, maxSizeRemnants,    146         std::fill_n(thetaRem, maxSizeRemnants, (Float_t)0.0);
153         std::fill_n(phiRem, maxSizeRemnants, (    147         std::fill_n(phiRem, maxSizeRemnants, (Float_t)0.0);
154         std::fill_n(jxRem, maxSizeRemnants, (F    148         std::fill_n(jxRem, maxSizeRemnants, (Float_t)0.0);
155         std::fill_n(jyRem, maxSizeRemnants, (F    149         std::fill_n(jyRem, maxSizeRemnants, (Float_t)0.0);
156         std::fill_n(jzRem, maxSizeRemnants, (F    150         std::fill_n(jzRem, maxSizeRemnants, (Float_t)0.0);
157         std::fill_n(EKinPrime, maxSizeParticle    151         std::fill_n(EKinPrime, maxSizeParticles, (Float_t)0.0);
158         std::fill_n(pzPrime, maxSizeParticles,    152         std::fill_n(pzPrime, maxSizeParticles, (Float_t)0.0);
159         std::fill_n(thetaPrime, maxSizeParticl    153         std::fill_n(thetaPrime, maxSizeParticles, (Float_t)0.0);
160       }                                           154       }
161                                                   155 
162       /** \brief Number of the event */           156       /** \brief Number of the event */
163       static G4ThreadLocal Int_t eventNumber;     157       static G4ThreadLocal Int_t eventNumber;
164                                                   158 
165       /** \brief Maximum array size for remnan    159       /** \brief Maximum array size for remnants */
166       static const Short_t maxSizeRemnants = 1    160       static const Short_t maxSizeRemnants = 10;
167                                                   161 
168       /** \brief Maximum array size for emitte    162       /** \brief Maximum array size for emitted particles */
169       static const Short_t maxSizeParticles =     163       static const Short_t maxSizeParticles = 1000;
170                                                   164 
171       /** \brief Number of particles in the fi    165       /** \brief Number of particles in the final state */
172       Short_t nParticles;                         166       Short_t nParticles;
173       /** \brief Sequential number of the even << 
174       Int_t event;                             << 
175       /** \brief Particle mass number */          167       /** \brief Particle mass number */
176       Short_t A[maxSizeParticles];                168       Short_t A[maxSizeParticles];
177       /** \brief Particle charge number */        169       /** \brief Particle charge number */
178       Short_t Z[maxSizeParticles];                170       Short_t Z[maxSizeParticles];
179       /** \brief Particle strangeness number *    171       /** \brief Particle strangeness number */
180       Short_t S[maxSizeParticles];                172       Short_t S[maxSizeParticles];
181       /** \brief Particle angular momemtum */  << 
182       Short_t J[maxSizeParticles];             << 
183       /** \brief PDG numbering of the particle    173       /** \brief PDG numbering of the particles */
184       Int_t PDGCode[maxSizeParticles];            174       Int_t PDGCode[maxSizeParticles];
185       /** \brief Event bias */                 << 
186       Float_t eventBias;                       << 
187       /** \brief Particle weight due to the bi    175       /** \brief Particle weight due to the bias */
188       Float_t ParticleBias[maxSizeParticles];     176       Float_t ParticleBias[maxSizeParticles];
                                                   >> 177       /** \brief Event bias */
                                                   >> 178       Float_t eventBias;
189       /** \brief Particle kinetic energy [MeV]    179       /** \brief Particle kinetic energy [MeV] */
190       Float_t EKin[maxSizeParticles];             180       Float_t EKin[maxSizeParticles];
191       /** \brief Particle momentum, x componen    181       /** \brief Particle momentum, x component [MeV/c] */
192       Float_t px[maxSizeParticles];               182       Float_t px[maxSizeParticles];
193       /** \brief Particle momentum, y componen    183       /** \brief Particle momentum, y component [MeV/c] */
194       Float_t py[maxSizeParticles];               184       Float_t py[maxSizeParticles];
195       /** \brief Particle momentum, z componen    185       /** \brief Particle momentum, z component [MeV/c] */
196       Float_t pz[maxSizeParticles];               186       Float_t pz[maxSizeParticles];
197       /** \brief Particle momentum polar angle    187       /** \brief Particle momentum polar angle [radians] */
198       Float_t theta[maxSizeParticles];            188       Float_t theta[maxSizeParticles];
199       /** \brief Particle momentum azimuthal a    189       /** \brief Particle momentum azimuthal angle [radians] */
200       Float_t phi[maxSizeParticles];              190       Float_t phi[maxSizeParticles];
201       /** \brief Origin of the particle           191       /** \brief Origin of the particle
202        *                                          192        *
203        * Should be -1 for cascade particles, o    193        * Should be -1 for cascade particles, or the number of the remnant for
204        * de-excitation particles. */              194        * de-excitation particles. */
205       Short_t origin[maxSizeParticles];           195       Short_t origin[maxSizeParticles];
206       /** \brief Particle's parent resonance P    196       /** \brief Particle's parent resonance PDG code */
207       Int_t parentResonancePDGCode[maxSizePart    197       Int_t parentResonancePDGCode[maxSizeParticles];
208       /** \brief Particle's parent resonance u    198       /** \brief Particle's parent resonance unique ID identifier */
209       Int_t parentResonanceID[maxSizeParticles    199       Int_t parentResonanceID[maxSizeParticles];
                                                   >> 200       /** \brief Emission time [fm/c] */
                                                   >> 201       Float_t emissionTime[maxSizeParticles];
210       /** \brief History of the particle          202       /** \brief History of the particle
211        *                                          203        *
212        * Condensed information about the de-ex    204        * Condensed information about the de-excitation chain of a particle. For
213        * cascade particles, it is just an empt    205        * cascade particles, it is just an empty string. For particles arising
214        * from the de-excitation of a cascade r    206        * from the de-excitation of a cascade remnant, it is a string of
215        * characters. Each character represents    207        * characters. Each character represents one or more identical steps in
216        * the de-excitation process. The curren    208        * the de-excitation process. The currently defined possible character
217        * values and their meanings are the fol    209        * values and their meanings are the following:
218        *                                          210        *
219        * e: evaporation product                   211        * e: evaporation product
220        * E: evaporation residue                   212        * E: evaporation residue
221        * m: multifragmentation                    213        * m: multifragmentation
222        * a: light partner in asymmetric fissio    214        * a: light partner in asymmetric fission or IMF emission
223        * A: heavy partner in asymmetric fissio    215        * A: heavy partner in asymmetric fission or IMF emission
224        * f: light partner in fission              216        * f: light partner in fission
225        * F: heavy partner in fission              217        * F: heavy partner in fission
226        * s: saddle-to-scission emission           218        * s: saddle-to-scission emission
227        * n: non-statistical emission (decay) *    219        * n: non-statistical emission (decay) */
228       std::vector<std::string> history;           220       std::vector<std::string> history;
229       /** \brief Number of remnants */            221       /** \brief Number of remnants */
230       Short_t nRemnants;                          222       Short_t nRemnants;
                                                   >> 223       /** \brief Remnant mass number */
                                                   >> 224       Short_t ARem[maxSizeRemnants];
                                                   >> 225       /** \brief Remnant charge number */
                                                   >> 226       Short_t ZRem[maxSizeRemnants];
                                                   >> 227       /** \brief Remnant strangeness number */
                                                   >> 228       Short_t SRem[maxSizeRemnants];
                                                   >> 229       /** \brief Remnant excitation energy [MeV] */
                                                   >> 230       Float_t EStarRem[maxSizeRemnants];
                                                   >> 231       /** \brief Remnant spin [\f$\hbar\f$] */
                                                   >> 232       Float_t JRem[maxSizeRemnants];
                                                   >> 233       /** \brief Remnant kinetic energy [MeV] */
                                                   >> 234       Float_t EKinRem[maxSizeRemnants];
                                                   >> 235       /** \brief Remnant momentum, x component [MeV/c] */
                                                   >> 236       Float_t pxRem[maxSizeRemnants];
                                                   >> 237       /** \brief Remnant momentum, y component [MeV/c] */
                                                   >> 238       Float_t pyRem[maxSizeRemnants];
                                                   >> 239       /** \brief Remnant momentum, z component [MeV/c] */
                                                   >> 240       Float_t pzRem[maxSizeRemnants];
                                                   >> 241       /** \brief Remnant momentum polar angle [radians] */
                                                   >> 242       Float_t thetaRem[maxSizeRemnants];
                                                   >> 243       /** \brief Remnant momentum azimuthal angle [radians] */
                                                   >> 244       Float_t phiRem[maxSizeRemnants];
                                                   >> 245       /** \brief Remnant angular momentum, x component [\f$\hbar\f$] */
                                                   >> 246       Float_t jxRem[maxSizeRemnants];
                                                   >> 247       /** \brief Remnant angular momentum, y component [\f$\hbar\f$] */
                                                   >> 248       Float_t jyRem[maxSizeRemnants];
                                                   >> 249       /** \brief Remnant angular momentum, z component [\f$\hbar\f$] */
                                                   >> 250       Float_t jzRem[maxSizeRemnants];
231       /** \brief Projectile particle type */      251       /** \brief Projectile particle type */
232       Int_t projectileType;                       252       Int_t projectileType;
233       /** \brief Mass number of the target nuc    253       /** \brief Mass number of the target nucleus */
234       Short_t At;                                 254       Short_t At;
235       /** \brief Charge number of the target n    255       /** \brief Charge number of the target nucleus */
236       Short_t Zt;                                 256       Short_t Zt;
237       /** \brief Strangeness number of the tar    257       /** \brief Strangeness number of the target nucleus */
238       Short_t St;                                 258       Short_t St;
239       /** \brief Mass number of the projectile    259       /** \brief Mass number of the projectile nucleus */
240       Short_t Ap;                                 260       Short_t Ap;
241       /** \brief Charge number of the projecti    261       /** \brief Charge number of the projectile nucleus */
242       Short_t Zp;                                 262       Short_t Zp;
243       /** \brief Strangeness number of the pro    263       /** \brief Strangeness number of the projectile nucleus */
244       Short_t Sp;                                 264       Short_t Sp;
245       /** \brief Projectile kinetic energy giv    265       /** \brief Projectile kinetic energy given as input */
246       Float_t Ep;                                 266       Float_t Ep;
247       /** \brief Impact parameter [fm] */         267       /** \brief Impact parameter [fm] */
248       Float_t impactParameter;                    268       Float_t impactParameter;
249       /** \brief Number of accepted two-body c    269       /** \brief Number of accepted two-body collisions */
250       Int_t nCollisions;                          270       Int_t nCollisions;
251       /** \brief Cascade stopping time [fm/c]     271       /** \brief Cascade stopping time [fm/c] */
252       Float_t stoppingTime;                       272       Float_t stoppingTime;
253       /** \brief Energy-conservation balance [    273       /** \brief Energy-conservation balance [MeV] */
254       Float_t EBalance;                           274       Float_t EBalance;
255       /** \brief First value for the energy-co << 
256       Float_t firstEBalance;                   << 
257       /** \brief Longitudinal momentum-conserv    275       /** \brief Longitudinal momentum-conservation balance [MeV/c] */
258       Float_t pLongBalance;                       276       Float_t pLongBalance;
259       /** \brief Transverse momentum-conservat    277       /** \brief Transverse momentum-conservation balance [MeV/c] */
260       Float_t pTransBalance;                      278       Float_t pTransBalance;
261       /** \brief Number of cascade particles *    279       /** \brief Number of cascade particles */
262       Short_t nCascadeParticles;                  280       Short_t nCascadeParticles;
263       /** \brief True if the event is transpar    281       /** \brief True if the event is transparent */
264       Bool_t transparent;                         282       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    283       /** \brief True if the event is a forced CN */
270       Bool_t forcedCompoundNucleus;               284       Bool_t forcedCompoundNucleus;
271       /** \brief True if the event is a nucleo    285       /** \brief True if the event is a nucleon absorption */
272       Bool_t nucleonAbsorption;                   286       Bool_t nucleonAbsorption;
273       /** \brief True if the event is a pion a    287       /** \brief True if the event is a pion absorption */
274       Bool_t pionAbsorption;                      288       Bool_t pionAbsorption;
275       /** \brief Number of accepted Delta deca    289       /** \brief Number of accepted Delta decays */
276       Int_t nDecays;                              290       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    291       /** \brief Number of two-body collisions blocked by Pauli or CDPP */
282       Int_t nBlockedCollisions;                   292       Int_t nBlockedCollisions;
283       /** \brief Number of decays blocked by P    293       /** \brief Number of decays blocked by Pauli or CDPP */
284       Int_t nBlockedDecays;                       294       Int_t nBlockedDecays;
285       /** \brief Effective (Coulomb-distorted)    295       /** \brief Effective (Coulomb-distorted) impact parameter [fm] */
286       Float_t effectiveImpactParameter;           296       Float_t effectiveImpactParameter;
287       /** \brief Event involved deltas in the     297       /** \brief Event involved deltas in the nucleus at the end of the cascade */
288       Bool_t deltasInside;                        298       Bool_t deltasInside;
289       /** \brief Event involved sigmas in the     299       /** \brief Event involved sigmas in the nucleus at the end of the cascade */
290       Bool_t sigmasInside;                        300       Bool_t sigmasInside;
291       /** \brief Event involved kaons in the n    301       /** \brief Event involved kaons in the nucleus at the end of the cascade */
292       Bool_t kaonsInside;                         302       Bool_t kaonsInside;
293       /** \brief Event involved antikaons in t    303       /** \brief Event involved antikaons in the nucleus at the end of the cascade */
294       Bool_t antikaonsInside;                     304       Bool_t antikaonsInside;
295       /** \brief Event involved lambdas in the    305       /** \brief Event involved lambdas in the nucleus at the end of the cascade */
296       Bool_t lambdasInside;                       306       Bool_t lambdasInside;
297       /** \brief Event involved forced delta d    307       /** \brief Event involved forced delta decays inside the nucleus */
298       Bool_t forcedDeltasInside;                  308       Bool_t forcedDeltasInside;
299       /** \brief Event involved forced delta d    309       /** \brief Event involved forced delta decays outside the nucleus */
300       Bool_t forcedDeltasOutside;                 310       Bool_t forcedDeltasOutside;
301       /** \brief Event involved forced eta/ome    311       /** \brief Event involved forced eta/omega decays outside the nucleus */
302       Bool_t forcedPionResonancesOutside;         312       Bool_t forcedPionResonancesOutside;
303       /** \brief Event involved forced strange    313       /** \brief Event involved forced strange absorption inside the nucleus */
304       Bool_t absorbedStrangeParticle;             314       Bool_t absorbedStrangeParticle;
305       /** \brief Event involved forced Sigma Z    315       /** \brief Event involved forced Sigma Zero decays outside the nucleus */
306       Bool_t forcedSigmaOutside;                  316       Bool_t forcedSigmaOutside;
307       /** \brief Event involved forced antiKao    317       /** \brief Event involved forced antiKaon/Sigma absorption inside the nucleus */
308       Bool_t forcedStrangeInside;                 318       Bool_t forcedStrangeInside;
309       /** \brief Number of forced Lambda emit     319       /** \brief Number of forced Lambda emit out of the nucleus */
310       Int_t emitLambda;                           320       Int_t emitLambda;
311       /** \brief Event involved forced Kaon em    321       /** \brief Event involved forced Kaon emission */
312       Bool_t emitKaon;                            322       Bool_t emitKaon;
313       /** \brief Event involved cluster decay     323       /** \brief Event involved cluster decay */
314       Bool_t clusterDecay;                        324       Bool_t clusterDecay;
315       /** \brief Time of the first collision [    325       /** \brief Time of the first collision [fm/c] */
316       Float_t firstCollisionTime;                 326       Float_t firstCollisionTime;
317       /** \brief Cross section of the first co    327       /** \brief Cross section of the first collision (mb) */
318       Float_t firstCollisionXSec;                 328       Float_t firstCollisionXSec;
319       /** \brief Position of the spectator on     329       /** \brief Position of the spectator on the first collision (fm) */
320       Float_t firstCollisionSpectatorPosition;    330       Float_t firstCollisionSpectatorPosition;
321       /** \brief Momentum of the spectator on     331       /** \brief Momentum of the spectator on the first collision (fm) */
322       Float_t firstCollisionSpectatorMomentum;    332       Float_t firstCollisionSpectatorMomentum;
323       /** \brief True if the first collision w    333       /** \brief True if the first collision was elastic */
324       Bool_t firstCollisionIsElastic;             334       Bool_t firstCollisionIsElastic;
325       /** \brief Number of reflection avatars     335       /** \brief Number of reflection avatars */
326       Int_t nReflectionAvatars;                   336       Int_t nReflectionAvatars;
327       /** \brief Number of collision avatars *    337       /** \brief Number of collision avatars */
328       Int_t nCollisionAvatars;                    338       Int_t nCollisionAvatars;
329       /** \brief Number of decay avatars */       339       /** \brief Number of decay avatars */
330       Int_t nDecayAvatars;                        340       Int_t nDecayAvatars;
331       /** \brief Number of dynamical spectator    341       /** \brief Number of dynamical spectators that were merged back into the projectile remnant */
332       Int_t nUnmergedSpectators;                  342       Int_t nUnmergedSpectators;
333       /** \brief Number of attempted collision    343       /** \brief Number of attempted collisions/decays for which the energy-conservation algorithm failed to find a solution. */
334       Int_t nEnergyViolationInteraction;          344       Int_t nEnergyViolationInteraction;
335       /** \brief Emission time [fm/c] */       << 345       /** \brief Sequential number of the event in the event loop */
336       Float_t emissionTime[maxSizeParticles];  << 346       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    347       /** \brief Particle kinetic energy, in inverse kinematics [MeV] */
366       Float_t EKinPrime[maxSizeParticles];        348       Float_t EKinPrime[maxSizeParticles];
367       /** \brief Particle momentum, z componen    349       /** \brief Particle momentum, z component, in inverse kinematics [MeV/c] */
368       Float_t pzPrime[maxSizeParticles];          350       Float_t pzPrime[maxSizeParticles];
369       /** \brief Particle momentum polar angle    351       /** \brief Particle momentum polar angle, in inverse kinematics [radians] */
370       Float_t thetaPrime[maxSizeParticles];       352       Float_t thetaPrime[maxSizeParticles];
371                                                   353 
372       /** \brief Reset the EventInfo members *    354       /** \brief Reset the EventInfo members */
373       void reset() {                              355       void reset() {
374         nParticles = 0;                           356         nParticles = 0;
375         event = 0;                             << 
376         eventBias = (Float_t)0.0;                 357         eventBias = (Float_t)0.0;
377         history.clear();                          358         history.clear();
378         nRemnants = 0;                            359         nRemnants = 0;
379         projectileType = 0;                       360         projectileType = 0;
380         At = 0;                                   361         At = 0;
381         Zt = 0;                                   362         Zt = 0;
382         St = 0;                                   363         St = 0;
383         Ap = 0;                                   364         Ap = 0;
384         Zp = 0;                                   365         Zp = 0;
385         Sp = 0;                                   366         Sp = 0;
386         Ep = (Float_t)0.0;                        367         Ep = (Float_t)0.0;
387         impactParameter = (Float_t)0.0;           368         impactParameter = (Float_t)0.0;
388         nCollisions = 0;                          369         nCollisions = 0;
389         stoppingTime = (Float_t)0.0;              370         stoppingTime = (Float_t)0.0;
390         EBalance = (Float_t)0.0;                  371         EBalance = (Float_t)0.0;
391         firstEBalance = (Float_t)0.0;          << 
392         pLongBalance = (Float_t)0.0;              372         pLongBalance = (Float_t)0.0;
393         pTransBalance = (Float_t)0.0;             373         pTransBalance = (Float_t)0.0;
394         nCascadeParticles = 0;                    374         nCascadeParticles = 0;
395         transparent = false;                      375         transparent = false;
396         annihilationP = false;                 << 
397         annihilationN = false;                 << 
398         forcedCompoundNucleus = false;            376         forcedCompoundNucleus = false;
399         nucleonAbsorption = false;                377         nucleonAbsorption = false;
400         pionAbsorption = false;                   378         pionAbsorption = false;
401         nDecays = 0;                              379         nDecays = 0;
402         nSrcCollisions = 0;                    << 
403         nSrcPairs = 0;                         << 
404         nBlockedCollisions = 0;                   380         nBlockedCollisions = 0;
405         nBlockedDecays = 0;                       381         nBlockedDecays = 0;
406         effectiveImpactParameter = (Float_t)0.    382         effectiveImpactParameter = (Float_t)0.0;
407         deltasInside = false;                     383         deltasInside = false;
408         sigmasInside = false;                     384         sigmasInside = false;
409         kaonsInside = false;                      385         kaonsInside = false;
410         antikaonsInside = false;                  386         antikaonsInside = false;
411         lambdasInside = false;                    387         lambdasInside = false;
412         forcedDeltasInside = false;               388         forcedDeltasInside = false;
413         forcedDeltasOutside = false;              389         forcedDeltasOutside = false;
414         forcedPionResonancesOutside = false;      390         forcedPionResonancesOutside = false;
415         absorbedStrangeParticle = false;          391         absorbedStrangeParticle = false;
416         forcedSigmaOutside = false;               392         forcedSigmaOutside = false;
417         forcedStrangeInside = false;              393         forcedStrangeInside = false;
418         emitLambda = 0;                           394         emitLambda = 0;
419         emitKaon = false;                         395         emitKaon = false;
420         clusterDecay = false;                     396         clusterDecay = false;
421         firstCollisionTime = (Float_t)0.0;        397         firstCollisionTime = (Float_t)0.0;
422         firstCollisionXSec = (Float_t)0.0;        398         firstCollisionXSec = (Float_t)0.0;
423         firstCollisionSpectatorPosition = (Flo    399         firstCollisionSpectatorPosition = (Float_t)0.0;
424         firstCollisionSpectatorMomentum = (Flo    400         firstCollisionSpectatorMomentum = (Float_t)0.0;
425         firstCollisionIsElastic = false;          401         firstCollisionIsElastic = false;
426         nReflectionAvatars = 0;                   402         nReflectionAvatars = 0;
427         nCollisionAvatars = 0;                    403         nCollisionAvatars = 0;
428         nDecayAvatars = 0;                        404         nDecayAvatars = 0;
429         nUnmergedSpectators = 0;                  405         nUnmergedSpectators = 0;
430         nEnergyViolationInteraction = 0;          406         nEnergyViolationInteraction = 0;
                                                   >> 407         event = 0;
431                                                   408 
432       }                                           409       }
433                                                   410 
434       /// \brief Move a remnant to the particl    411       /// \brief Move a remnant to the particle array
435       void remnantToParticle(const G4int remna    412       void remnantToParticle(const G4int remnantIndex);
436                                                   413 
437       /// \brief Fill the variables describing    414       /// \brief Fill the variables describing the reaction in inverse kinematics
438       void fillInverseKinematics(const Double_    415       void fillInverseKinematics(const Double_t gamma);
439     };                                            416     };
440 }                                                 417 }
441                                                   418 
442 #endif /* G4INCLEVENTINFO_HH_HH */                419 #endif /* G4INCLEVENTINFO_HH_HH */
443                                                   420