MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Loading...
Searching...
No Matches
GenHeavyIon.h
1// -*- C++ -*-
2//
3// This file is part of HepMC
4// Copyright (C) 2014-2023 The HepMC collaboration (see AUTHORS for details)
5//
6#ifndef HEPMC3_HEAVYION_H
7#define HEPMC3_HEAVYION_H
20#include <iostream>
21#include <map>
22#include "HepMC3/Attribute.h"
23
24namespace HepMC3 {
25
26class GenHeavyIon : public Attribute {
27
28public:
29
32 : Ncoll_hard(-1), Npart_proj(-1), Npart_targ(-1), Ncoll(-1),
33#ifndef HEPMC3_NO_DEPRECATED
35#endif
39#ifndef HEPMC3_NO_DEPRECATED
40 eccentricity(-1.0),
41#endif
44 Nspec_proj_p(-1), Nspec_targ_p(-1), forceoldformat(false) {}
45
46//
47// Fields
48//
49public:
50
58
65
72
80 int Ncoll;
81
82#ifndef HEPMC3_NO_DEPRECATED
87
92#endif
93
100
107
114
120
128
129#ifndef HEPMC3_NO_DEPRECATED
134#endif
135
142
149
158
159
166
173
180
187
193 std::map<int,double> participant_plane_angles;
194
199 std::map<int,double> eccentricities;
200
201//
202// Functions
203//
204public:
205
207 bool from_string(const std::string &att) override;
208
210 bool to_string(std::string &att) const override;
211
212#ifndef HEPMC3_NO_DEPRECATED
213
216 bool operator==( const GenHeavyIon& ) const;
219 bool operator!=( const GenHeavyIon& ) const;
220
224
225 void set( const int&nh, const int&np, const int&nt, const int&nc, const int&ns, const int&nsp,
226 const int&nnw=0, const int&nwn=0, const int&nwnw=0,
227 const double& im=0., const double& pl=0., const double& ec=0., const double& s=0., const double& cent=0., const double& usrcent=0. );
232 bool is_valid() const;
233
238
239#endif
240
241};
242
243#ifndef HEPMC3_NO_DEPRECATED
244typedef GenHeavyIon HeavyIon;
245#endif
246
247
248} // namespace HepMC3
249
250#endif
Attribute()
Default constructor.
Definition Attribute.h:51
Stores additional information about Heavy Ion generator.
Definition GenHeavyIon.h:26
double centrality
The centrality.
std::map< int, double > eccentricities
Eccentricities.
int Npart_proj
the number of participating nucleons in the projectile.
Definition GenHeavyIon.h:64
int Npart_targ
the number of participating nucleons in the target.
Definition GenHeavyIon.h:71
GenHeavyIon()
Empty default constructor.
Definition GenHeavyIon.h:31
bool forceoldformat
force writing in old format for compatibility purposes.
int Ncoll
the number of inelastic nucleon-nucleon collisions.
Definition GenHeavyIon.h:80
double impact_parameter
The impact parameter.
bool to_string(std::string &att) const override
Implementation of Attribute::to_string.
bool is_valid() const
Verify that the instance contains non-zero information.
std::map< int, double > participant_plane_angles
Participant plane angles.
double event_plane_angle
The event plane angle.
bool from_string(const std::string &att) override
Implementation of Attribute::from_string.
int Nspec_targ_p
The number of spectator protons in the target.
void set(const int &nh, const int &np, const int &nt, const int &nc, const int &ns, const int &nsp, const int &nnw=0, const int &nwn=0, const int &nwnw=0, const double &im=0., const double &pl=0., const double &ec=0., const double &s=0., const double &cent=0., const double &usrcent=0.)
Set all fields.
bool operator!=(const GenHeavyIon &) const
Operator !=.
int Nwounded_Nwounded_collisions
Non-diffractive or doubly diffractive collisions.
int Nwounded_N_collisions
Collisions with a diffractively excited projectile nucleon.
double eccentricity
The eccentricity.
int Nspec_proj_p
The number of spectator protons in the projectile.
int N_Nwounded_collisions
Collisions with a diffractively excited target nucleon.
Definition GenHeavyIon.h:99
int Nspec_targ_n
The number of spectator neutrons in the target.
int spectator_protons
Total number of spectator protons.
Definition GenHeavyIon.h:91
bool operator==(const GenHeavyIon &) const
Operator ==.
int Ncoll_hard
the number of hard nucleon-nucleon collisions.
Definition GenHeavyIon.h:57
int spectator_neutrons
Total number of spectator neutrons.
Definition GenHeavyIon.h:86
int Nspec_proj_n
The number of spectator neutrons in the projectile.
double user_cent_estimate
A user defined centrality estimator.
double sigma_inel_NN
The assumed inelastic nucleon-nucleon cross section.