KaliVeda
Toolkit for HIC analysis
KV2Body::KinematicSolutions Class Reference

Detailed Description

Maybe single- or double-valued.

This may contain 1 or 2 kinematic solutions corresponding to angles, energies, velocities, ...

Testing/using solutions:

KinematicSolutions K;
if(K.second())
std::cout << *K.second() << std::endl;
Double_t K[5]
ratio of c.m. velocity to velocity of nucleus in c.m. v_cm/v_i_cm
Definition: KV2Body.h:191

Definition at line 234 of file KV2Body.h.

Public Member Functions

std::optional< double > first () const
 
void iterate_solutions (std::function< void(double)> f)
 
std::optional< double > second () const
 
double val (int i)
 

Public Attributes

std::array< std::optional< double >, 2 > solutions
 

Member Function Documentation

◆ first()

std::optional<double> KV2Body::KinematicSolutions::first ( ) const
inline

first solution - this always exists

Definition at line 248 of file KV2Body.h.

◆ iterate_solutions()

void KV2Body::KinematicSolutions::iterate_solutions ( std::function< void(double)>  f)
inline

iterate over non-null solutions

Definition at line 236 of file KV2Body.h.

◆ second()

std::optional<double> KV2Body::KinematicSolutions::second ( ) const
inline

second solution - test for existence before using

Definition at line 253 of file KV2Body.h.

◆ val()

double KV2Body::KinematicSolutions::val ( int  i)
inline
Returns
solution if it exists, or zero

Definition at line 243 of file KV2Body.h.

Member Data Documentation

◆ solutions

std::array<std::optional<double>, 2> KV2Body::KinematicSolutions::solutions

Definition at line 235 of file KV2Body.h.