StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Pythia8::DoubleStrikman Class Reference

#include <HIUserHooks.h>

Inheritance diagram for Pythia8::DoubleStrikman:
Pythia8::SubCollisionModel Pythia8::SubCollisionModel

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.

References Pythia8::SubCollision::ABS, Pythia8::Nucleon::altState(), Pythia8::SubCollisionModel::avNDb, Pythia8::Nucleon::bPos(), Pythia8::SubCollision::CDE, Pythia8::SubCollision::DDE, Pythia8::SubCollision::ELASTIC, gamma(), Pythia8::SubCollisionModel::getCollisions(), Pythia8::SubCollision::SDEP, Pythia8::SubCollision::SDET, Pythia8::SubCollisionModel::sigCDE(), Pythia8::SubCollisionModel::sigEl(), Pythia8::Nucleon::state(), and Tpt().

virtual 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.

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<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.

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: