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.