StRoot  1
Pythia8::DoubleStrikman Class Reference

`#include <HIUserHooks.h>`

Inheritance diagram for Pythia8::DoubleStrikman:

## Public Member Functions

DoubleStrikman (int modein=0)

virtual ~DoubleStrikman ()
Virtual destructor,.

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

double gamma () const
Generate a random number according to a Gamma-distribution.

double opacity (double sig) const
The opacity of the collision at a given sigma.

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.

virtual void setParm (const vector< double > &)
Set the parameters of this model.

virtual vector< double > getParm () const

virtual vector< double > minParm () const

virtual vector< double > maxParm () const

DoubleStrikman (int modein=0)

virtual ~DoubleStrikman ()
Virtual destructor,.

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

double gamma () const
Generate a random number according to a Gamma-distribution.

double opacity (double sig) const
The opacity of the collision at a given sigma.

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.

virtual void setParm (const vector< double > &)
Set the parameters of this model.

virtual vector< double > getParm () const

virtual vector< double > minParm () const

virtual vector< double > maxParm () const

Public Member Functions inherited from Pythia8::SubCollisionModel
SubCollisionModel ()
The default constructor is empty.

virtual ~SubCollisionModel ()
Virtual destructor,.

virtual bool init ()
Virtual init method.

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.

virtual bool evolve ()
Use a simlified genetic algorithm to fit the parameters.

SubCollisionModel ()
The default constructor is empty.

virtual ~SubCollisionModel ()
Virtual destructor,.

virtual bool init ()
Virtual init method.

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.

virtual bool evolve ()
Use a simlified genetic algorithm to fit the parameters.

## Static Public Member Functions

static void shuffle (double PND1, double PND2, double &PW1, double &PW2)

static void shuffel (double &PEL11, double P11, double P12, double P21, double P22)

static double PNW (double PWp, double PWt, double PND)

static void shuffle (double PND1, double PND2, double &PW1, double &PW2)

static void shuffel (double &PEL11, double P11, double P12, double P21, double P22)

static double PNW (double PWp, double PWt, double PND)

## Protected Attributes

double r0
The average radius of the nucleon.

double k0
The power in the Gamma distribution.

double sigd
Saturation scale of the nucleus.

double alpha
Power of the saturation scale.

int opacityMode
Optional mode for opacity.

Protected Attributes inherited from Pythia8::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.

Definition at line 632 of file HIUserHooks.h.

## Constructor & Destructor Documentation

 Pythia8::DoubleStrikman::DoubleStrikman ( int modein = `0` )
inline

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

Definition at line 638 of file HIUserHooks.h.

 Pythia8::DoubleStrikman::DoubleStrikman ( int modein = `0` )
inline

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

Definition at line 664 of file HIUserHooks.h.

## Member Function Documentation

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

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.

Assign two states to each nucleon

Assign two states to each nucleon

Implements Pythia8::SubCollisionModel.

Definition at line 815 of file HIUserHooks.cc.

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

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.

Implements Pythia8::SubCollisionModel.

 vector< double > Pythia8::DoubleStrikman::getParm ( ) const
virtual

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

Reimplemented from Pythia8::SubCollisionModel.

Definition at line 717 of file HIUserHooks.cc.

References alpha, k0, and sigd.

 virtual vector Pythia8::DoubleStrikman::getParm ( ) const
virtual

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

Reimplemented from Pythia8::SubCollisionModel.

 double Pythia8::DoubleStrikman::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.

Definition at line 665 of file HIUserHooks.h.

Referenced by getCollisions().

 double Pythia8::DoubleStrikman::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.

Definition at line 691 of file HIUserHooks.h.

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