PYTHIA  8.303
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MultiRadial Class Reference

#include <HIUserHooks.h>

Inheritance diagram for MultiRadial:
SubCollisionModel

Public Member Functions

 MultiRadial (int NrIn=0)
 
virtual ~MultiRadial ()
 Virtual destructor,.
 
virtual multiset< SubCollisiongetCollisions (vector< Nucleon > &proj, vector< Nucleon > &targ, const Vec4 &bvec, double &T)
 Main function returning the possible sub-collisions. More...
 
double Tpt (const Nucleon::State &p, const Nucleon::State &t, double b) const
 
SigEst getSig () const
 Calculate the cross sections for the given set of parameters. More...
 
virtual void setParm (const vector< double > &)
 Set the parameters of this model. More...
 
virtual vector< double > getParm () const
 
virtual vector< double > minParm () const
 
virtual vector< double > maxParm () const
 
- Public Member Functions inherited from SubCollisionModel
 SubCollisionModel ()
 The default constructor is empty.
 
virtual ~SubCollisionModel ()
 Virtual destructor,.
 
virtual bool init ()
 Virtual init method. More...
 
void initPtr (NucleusModel &projIn, NucleusModel &targIn, SigmaTotal &sigTotIn, Settings &settingsIn, Info &infoIn, Rndm &rndIn)
 
double sigTot () const
 The total cross section. More...
 
double sigEl () const
 The total cross section.
 
double sigCDE () const
 The central diffractive excitation cross section.
 
double sigSDE () const
 The single diffractive excitation cross section (both sides summed).
 
double sigSDEP () const
 The single diffractive excitation cross section (excited projectile).
 
double sigSDET () const
 The single diffractive excitation cross section (excited target).
 
double sigDDE () const
 The double diffractive excitation cross section.
 
double sigND () const
 The non-diffractive (absorptive) cross section.
 
double bSlope () const
 The elastic b-slope parameter.
 
double avNDB () const
 Return the average non-diffractive impact parameter.
 
double Chi2 (const SigEst &sigs, int npar) const
 Calculate the Chi2 for the given cross section estimates. More...
 
virtual bool evolve ()
 Use a simlified genetic algorithm to fit the parameters. More...
 

Protected Member Functions

void setProbs ()
 Set the probabilities according to the angle parameters.
 
int choose () const
 Choose a radius.
 

Protected Attributes

int Nr
 The number of radii.
 
vector< double > c
 The probability distribution.
 
vector< double > dR
 The difference between radii.
 
vector< double > T0
 The opacity for different radii.
 
vector< double > phi
 The angles defining the probability distribution for the radii.
 
- Protected Attributes inherited from SubCollisionModel
int NInt
 
int NGen
 
int NPop
 
double sigFuzz
 
bool fitPrint
 
double avNDb
 
NucleusModelprojPtr
 Info from the controlling HeavyIons object.
 
NucleusModeltargPtr
 
SigmaTotalsigTotPtr
 
SettingssettingsPtr
 
InfoinfoPtr
 
RndmrndPtr
 

Detailed Description

A more complicated model where each nucleon has a fluctuating "radius" according to a Strikman-inspired distribution.

Constructor & Destructor Documentation

MultiRadial ( int  NrIn = 0)
inline

The default constructor simply lists the nucleon-nucleon cross sections.

Member Function Documentation

multiset< SubCollision > getCollisions ( vector< Nucleon > &  proj,
vector< Nucleon > &  targ,
const Vec4 bvec,
double &  T 
)
virtual

Main function returning the possible sub-collisions.

Take two vectors of Nucleons and an impact parameter vector and produce the corrsponding sub-collisions. Note that states of the nucleons may be changed.

Always call base class to reset nucleons and shift them into position.

Implements SubCollisionModel.

vector< double > getParm ( ) const
virtual

Return the current parameters and the minimum and maximum allowed values for the parameters of this model.

Reimplemented from SubCollisionModel.

SubCollisionModel::SigEst getSig ( ) const
virtual

Calculate the cross sections for the given set of parameters.

MultiRadial uses a number of different disk sizes with different opacities. Like a discrete version of DoubleStrikman. Numerically estimate the cross sections corresponding to the current parameter setting.

double sTpt2 = 0.0;

double sTt2p = 0.0;

Reimplemented from SubCollisionModel.

void setParm ( const vector< double > &  p)
virtual

Set the parameters of this model.

Access funtions to parameters in the MultiRadial model.

Reimplemented from SubCollisionModel.

double Tpt ( const Nucleon::State p,
const Nucleon::State t,
double  b 
) const
inline

Return the elastic amplitude for a projectile and target state and the impact parameter between the corresponding nucleons.


The documentation for this class was generated from the following files: