7 #ifndef SRC_INCLUDE_COLLIDERMODUS_H_ 8 #define SRC_INCLUDE_COLLIDERMODUS_H_ 24 struct ExperimentParameters;
111 using ModusDefault::BadInput::BadInput;
155 const std::string &nucleus_type);
223 std::pair<double, double>
get_velocities(
double mandelstam_s,
double m_a,
237 #endif // SRC_INCLUDE_COLLIDERMODUS_H_ FermiMotion
Option to use Fermi Motion.
double yield_max_
Maximum value of yield. Needed for custom impact parameter sampling.
double velocity_target_
Beam velocity of the target.
static std::unique_ptr< DeformedNucleus > create_deformed_nucleus(Configuration &nucleus_cfg, const int ntest, const std::string &nucleus_type)
Configure Deformed Nucleus.
int total_N_number() const
double impact_
Impact parameter.
Interface to the SMASH configuration files.
std::unique_ptr< InterpolateDataLinear< double > > impact_interpolation_
Pointer to the impact parameter interpolation.
double imp_min_
Minimum value of impact parameter.
ColliderModus(Configuration modus_config, const ExperimentParameters ¶meters)
Constructor.
std::unique_ptr< Nucleus > projectile_
Projectile.
Base class for Modus classes that provides default function implementations.
Sampling sampling_
Method used for sampling of impact parameter.
Thrown when either projectile_ or target_ nuclei are empty.
double impact_parameter() const
FermiMotion fermi_motion()
CalculationFrame
The calculation frame.
std::pair< double, double > get_velocities(double mandelstam_s, double m_a, double m_b)
Get the frame dependent velocity for each nucleus, using the current reference frame.
FermiMotion fermi_motion_
An option to include Fermi motion ("off", "on", "frozen")
double initial_z_displacement_
Initial z-displacement of nuclei.
Sample from areal / quadratic distribution.
Don't use fermi motion.
ColliderModus: Provides a modus for colliding nuclei.
double sqrt_s_NN_
Center-of-mass energy of a nucleon-nucleon collision.
bool cll_in_nucleus_
An option to accept first collisions within the same nucleus.
double initial_conditions(Particles *particles, const ExperimentParameters ¶meters)
Generates initial state of the particles in the system.
std::unique_ptr< Nucleus > target_
Target.
double velocity_projectile_
Beam velocity of the projectile.
void sample_impact()
Sample impact parameter.
double velocity_target() const
double velocity_projectile() const
Sampling
Possible methods of impact parameter sampling.
friend std::ostream & operator<<(std::ostream &, const ColliderModus &)
Writes the initial state for the ColliderModus to the output stream.
The Particles class abstracts the storage and manipulation of particles.
double imp_max_
Maximum value of impact parameter.
Helper structure for Experiment.
int proj_N_number() const
CalculationFrame frame_
Reference frame for the system, as specified from config.
double total_s_
Center-of-mass energy squared of the nucleus-nucleus collision.