EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtFourBodyPhsp Class Reference

#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 () const override
EvtDecayBase * clone () const 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)
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 ()=default
virtual ~EvtDecayBase ()=default
virtual bool matchingDecay (const EvtDecayBase &other) const
EvtId getParentId () const
double getBranchingFraction () const
void disableCheckQ ()
void checkQ ()
int getNDaug () const
const EvtId * getDaugs () const
EvtId getDaug (int i) const
int getNArg () const
bool getFSR () const
void setFSR ()
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
bool summary () const
bool verbose () const
void saveDecayInfo (EvtId ipar, int ndaug, const 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 () const

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, const EvtId daugs[10], double masses[10])
static void findMass (EvtParticle *p)
static double findMaxMass (EvtParticle *p)
Protected Member Functions inherited from EvtDecayBase
bool daugsDecayedByParentModel () const
Protected Attributes inherited from EvtDecayBase
bool m_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 ( ) const
overridevirtual

Implements EvtDecayBase.

Definition at line 36 of file EvtFourBodyPhsp.cpp.

◆ decay()

void EvtFourBodyPhsp::decay ( EvtParticle * parent)
overridevirtual

Implements EvtDecayBase.

Definition at line 242 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 ( ) const
overridevirtual

Implements EvtDecayBase.

Definition at line 31 of file EvtFourBodyPhsp.cpp.

◆ init()

void EvtFourBodyPhsp::init ( )
overridevirtual

Reimplemented from EvtDecayBase.

Definition at line 54 of file EvtFourBodyPhsp.cpp.

◆ initProbMax()

void EvtFourBodyPhsp::initProbMax ( )
overridevirtual

Reimplemented from EvtDecayBase.

Definition at line 156 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 41 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: