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