evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.

#include <EvtGenModels/EvtFourBodyPhsp.hh>

Inheritance diagram for EvtFourBodyPhsp:
EvtDecayProb EvtDecayBase

Public Types

enum  Shape { rectangle = 1, trapezoid = 2, pentagon = 3, variable = 4 }
 

Public Member Functions

std::string getName () override
 
EvtDecayBaseclone () override
 
void init () override
 
void initProbMax () override
 
void decay (EvtParticle *parent) override
 
- Public Member Functions inherited from EvtDecayProb
void makeDecay (EvtParticle *p, bool recursive=true) override
 
void setProb (double prob)
 
double getProb ()
 
void setWeight (double weight)
 
virtual ~EvtDecayProb ()
 
- Public Member Functions inherited from EvtDecayBase
virtual std::string commandName ()
 
virtual void command (std::string cmd)
 
virtual std::string getParamName (int i)
 
virtual std::string getParamDefault (int i)
 
double getProbMax (double prob)
 
double resetProbMax (double prob)
 
 EvtDecayBase ()
 
virtual ~EvtDecayBase ()=default
 
virtual bool matchingDecay (const EvtDecayBase &other) const
 
EvtId getParentId () const
 
double getBranchingFraction () const
 
void disableCheckQ ()
 
void checkQ ()
 
int getNDaug () const
 
EvtIdgetDaugs ()
 
EvtId getDaug (int i) const
 
int getNArg () const
 
int getPHOTOS () const
 
void setPHOTOS ()
 
void setVerbose ()
 
void setSummary ()
 
double * getArgs ()
 
std::string * getArgsStr ()
 
double getArg (unsigned int j)
 
double getStoredArg (int j) const
 
double getNStoredArg () const
 
std::string getArgStr (int j) const
 
std::string getModelName () const
 
int getDSum () const
 
int summary () const
 
int verbose () const
 
void saveDecayInfo (EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
 
void printSummary () const
 
void printInfo () const
 
void setProbMax (double prbmx)
 
void noProbMax ()
 
void checkNArg (int a1, int a2=-1, int a3=-1, int a4=-1)
 
void checkNDaug (int d1, int d2=-1)
 
void checkSpinParent (EvtSpinType::spintype sp)
 
void checkSpinDaughter (int d1, EvtSpinType::spintype sp)
 
virtual int nRealDaughters ()
 

Private Member Functions

std::array< double, 4 > phspFactor (const double mM, const double m12, const double m34, std::array< double, 4 > &daughters) const
 
Shape determineBoundaryShape (const double m12Min, const double m12Max, const double m34Max, const double mMother) const
 
std::pair< double, double > generatePairMasses (const double m12Min, const double m12Max, const double m34Min, const double m34Max, const double mMother, const EvtFourBodyPhsp::Shape shape) const
 
std::pair< double, double > generateRectangle (const double m12Min, const double m12Max, const double m34Min, const double m34Max) const
 
std::pair< double, double > generateTrapezoid (const double m12Min, const double m12Max, const double m34Min, const double mMother) const
 

Private Attributes

std::array< double, 4 > m_daughterMasses { -1, -1, -1, -1 }
 
double m_m12Min
 
double m_m12Max
 
double m_m34Min
 
double m_m34Max
 
double m_trapNorm
 
double m_trapCoeff1
 
double m_trapCoeff2
 
double m_pentagonSplit
 
double m_pentagonFraction
 
Shape m_boundaryShape
 
bool m_stableMother {true}
 
bool m_stableDaughters {true}
 
bool m_fixedBoundary {true}
 

Additional Inherited Members

- Static Public Member Functions inherited from EvtDecayBase
static void findMasses (EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10])
 
static void findMass (EvtParticle *p)
 
static double findMaxMass (EvtParticle *p)
 
- Protected Member Functions inherited from EvtDecayBase
bool daugsDecayedByParentModel ()
 
- Protected Attributes inherited from EvtDecayBase
bool _daugsDecayedByParentModel
 

Detailed Description

Definition at line 32 of file EvtFourBodyPhsp.hh.

Member Enumeration Documentation

◆ Shape

Enumerator
rectangle 
trapezoid 
pentagon 
variable 

Definition at line 34 of file EvtFourBodyPhsp.hh.

Member Function Documentation

◆ clone()

EvtDecayBase * EvtFourBodyPhsp::clone ( )
overridevirtual

Implements EvtDecayBase.

Definition at line 35 of file EvtFourBodyPhsp.cpp.

◆ decay()

void EvtFourBodyPhsp::decay ( EvtParticle parent)
overridevirtual

Implements EvtDecayBase.

Definition at line 241 of file EvtFourBodyPhsp.cpp.

◆ determineBoundaryShape()

EvtFourBodyPhsp::Shape EvtFourBodyPhsp::determineBoundaryShape ( const double  m12Min,
const double  m12Max,
const double  m34Max,
const double  mMother 
) const
private

Definition at line 362 of file EvtFourBodyPhsp.cpp.

◆ generatePairMasses()

std::pair< double, double > EvtFourBodyPhsp::generatePairMasses ( const double  m12Min,
const double  m12Max,
const double  m34Min,
const double  m34Max,
const double  mMother,
const EvtFourBodyPhsp::Shape  shape 
) const
private

Definition at line 379 of file EvtFourBodyPhsp.cpp.

◆ generateRectangle()

std::pair< double, double > EvtFourBodyPhsp::generateRectangle ( const double  m12Min,
const double  m12Max,
const double  m34Min,
const double  m34Max 
) const
private

Definition at line 417 of file EvtFourBodyPhsp.cpp.

◆ generateTrapezoid()

std::pair< double, double > EvtFourBodyPhsp::generateTrapezoid ( const double  m12Min,
const double  m12Max,
const double  m34Min,
const double  mMother 
) const
private

Definition at line 425 of file EvtFourBodyPhsp.cpp.

◆ getName()

std::string EvtFourBodyPhsp::getName ( )
overridevirtual

Implements EvtDecayBase.

Definition at line 30 of file EvtFourBodyPhsp.cpp.

◆ init()

void EvtFourBodyPhsp::init ( )
overridevirtual

Reimplemented from EvtDecayBase.

Definition at line 53 of file EvtFourBodyPhsp.cpp.

◆ initProbMax()

void EvtFourBodyPhsp::initProbMax ( )
overridevirtual

Reimplemented from EvtDecayBase.

Definition at line 155 of file EvtFourBodyPhsp.cpp.

◆ phspFactor()

std::array< double, 4 > EvtFourBodyPhsp::phspFactor ( const double  mM,
const double  m12,
const double  m34,
std::array< double, 4 > &  daughters 
) const
private

Definition at line 40 of file EvtFourBodyPhsp.cpp.

Member Data Documentation

◆ m_boundaryShape

Shape EvtFourBodyPhsp::m_boundaryShape
private

Definition at line 85 of file EvtFourBodyPhsp.hh.

◆ m_daughterMasses

std::array<double, 4> EvtFourBodyPhsp::m_daughterMasses { -1, -1, -1, -1 }
private

Definition at line 71 of file EvtFourBodyPhsp.hh.

◆ m_fixedBoundary

bool EvtFourBodyPhsp::m_fixedBoundary {true}
private

Definition at line 89 of file EvtFourBodyPhsp.hh.

◆ m_m12Max

double EvtFourBodyPhsp::m_m12Max
private

Definition at line 74 of file EvtFourBodyPhsp.hh.

◆ m_m12Min

double EvtFourBodyPhsp::m_m12Min
private

Definition at line 73 of file EvtFourBodyPhsp.hh.

◆ m_m34Max

double EvtFourBodyPhsp::m_m34Max
private

Definition at line 76 of file EvtFourBodyPhsp.hh.

◆ m_m34Min

double EvtFourBodyPhsp::m_m34Min
private

Definition at line 75 of file EvtFourBodyPhsp.hh.

◆ m_pentagonFraction

double EvtFourBodyPhsp::m_pentagonFraction
private

Definition at line 83 of file EvtFourBodyPhsp.hh.

◆ m_pentagonSplit

double EvtFourBodyPhsp::m_pentagonSplit
private

Definition at line 82 of file EvtFourBodyPhsp.hh.

◆ m_stableDaughters

bool EvtFourBodyPhsp::m_stableDaughters {true}
private

Definition at line 88 of file EvtFourBodyPhsp.hh.

◆ m_stableMother

bool EvtFourBodyPhsp::m_stableMother {true}
private

Definition at line 87 of file EvtFourBodyPhsp.hh.

◆ m_trapCoeff1

double EvtFourBodyPhsp::m_trapCoeff1
private

Definition at line 79 of file EvtFourBodyPhsp.hh.

◆ m_trapCoeff2

double EvtFourBodyPhsp::m_trapCoeff2
private

Definition at line 80 of file EvtFourBodyPhsp.hh.

◆ m_trapNorm

double EvtFourBodyPhsp::m_trapNorm
private

Definition at line 78 of file EvtFourBodyPhsp.hh.


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