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

#include <HIUserHooks.h>

Inheritance diagram for Pythia8::SubCollisionModel:
Pythia8::BlackSubCollisionModel Pythia8::DoubleStrikman Pythia8::DoubleStrikman Pythia8::MultiRadial Pythia8::MultiRadial Pythia8::NaiveSubCollisionModel Pythia8::NaiveSubCollisionModel

Classes

struct  SigEst
 Internal class to report cross section estimates. More...
 

Public Member Functions

 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)
 
virtual multiset< SubCollisiongetCollisions (vector< Nucleon > &proj, vector< Nucleon > &targ, const Vec4 &bvec, double &T)=0
 
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.
 
virtual SigEst getSig () const
 Calculate the cross sections for the given set of parameters.
 
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.
 
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
 
 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)
 
virtual multiset< SubCollisiongetCollisions (vector< Nucleon > &proj, vector< Nucleon > &targ, const Vec4 &bvec, double &T)=0
 
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.
 
virtual SigEst getSig () const
 Calculate the cross sections for the given set of parameters.
 
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.
 
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
 

Protected Attributes

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

The SubCollisionModel is is able to model the collision between two nucleons to tell which type of collision has occurred. The model may manipulate the corresponing state of the nucleons.

Definition at line 449 of file HIUserHooks.h.

Member Function Documentation

virtual multiset<SubCollision> Pythia8::SubCollisionModel::getCollisions ( vector< Nucleon > &  proj,
vector< Nucleon > &  targ,
const Vec4 bvec,
double &  T 
)
pure 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. The function in this abstract base class will reset the nucleon states for convenience. The sub-collisions are ordered in the impact parameter distance between the nucleons. The T-variable will be set to the summed elastic amplityde.

Implemented in Pythia8::MultiRadial, Pythia8::MultiRadial, Pythia8::DoubleStrikman, Pythia8::DoubleStrikman, Pythia8::NaiveSubCollisionModel, Pythia8::NaiveSubCollisionModel, and Pythia8::BlackSubCollisionModel.

multiset< SubCollision > Pythia8::SubCollisionModel::getCollisions ( vector< Nucleon > &  proj,
vector< Nucleon > &  targ,
const Vec4 bvec,
double &  T 
)
pure 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. The function in this abstract base class will reset the nucleon states for convenience. The sub-collisions are ordered in the impact parameter distance between the nucleons. The T-variable will be set to the summed elastic amplityde.

Implemented in Pythia8::MultiRadial, Pythia8::MultiRadial, Pythia8::DoubleStrikman, Pythia8::DoubleStrikman, Pythia8::NaiveSubCollisionModel, Pythia8::NaiveSubCollisionModel, and Pythia8::BlackSubCollisionModel.

Definition at line 514 of file HIUserHooks.cc.

Referenced by Pythia8::NaiveSubCollisionModel::getCollisions(), Pythia8::BlackSubCollisionModel::getCollisions(), Pythia8::DoubleStrikman::getCollisions(), Pythia8::MultiRadial::getCollisions(), and Pythia8::Angantyr::next().

virtual vector<double> Pythia8::SubCollisionModel::getParm ( ) const
inlinevirtual

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

Reimplemented in Pythia8::MultiRadial, Pythia8::MultiRadial, Pythia8::DoubleStrikman, and Pythia8::DoubleStrikman.

Definition at line 562 of file HIUserHooks.h.

virtual vector<double> Pythia8::SubCollisionModel::getParm ( ) const
inlinevirtual

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

Reimplemented in Pythia8::MultiRadial, Pythia8::MultiRadial, Pythia8::DoubleStrikman, and Pythia8::DoubleStrikman.

Definition at line 563 of file HIUserHooks.h.

double Pythia8::SubCollisionModel::sigTot ( ) const
inline

The total cross section.

Access the nucleon-nucleon cross sections assumed for this model.

Definition at line 513 of file HIUserHooks.h.

double Pythia8::SubCollisionModel::sigTot ( ) const
inline

The total cross section.

Access the nucleon-nucleon cross sections assumed for this model.

Definition at line 514 of file HIUserHooks.h.

Referenced by Pythia8::NaiveSubCollisionModel::getCollisions(), Pythia8::BlackSubCollisionModel::getCollisions(), Pythia8::MultiRadial::getSig(), Pythia8::ImpactParameterGenerator::init(), and Pythia8::DoubleStrikman::setParm().

Member Data Documentation

double Pythia8::SubCollisionModel::avNDb
protected

The estimated average impact parameter distance (in femtometer) for absorptive collisions.

Definition at line 589 of file HIUserHooks.h.

Referenced by evolve(), Pythia8::BlackSubCollisionModel::getCollisions(), Pythia8::NaiveSubCollisionModel::getCollisions(), Pythia8::DoubleStrikman::getCollisions(), and init().

int Pythia8::SubCollisionModel::NInt
protected

The parameters stearing the fitting of internal parameters to the different nucleon-nucleon cross sections.

Definition at line 583 of file HIUserHooks.h.

Referenced by Pythia8::DoubleStrikman::getSig(), Pythia8::MultiRadial::getSig(), and init().


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