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
EvtDecayBaseclone () 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 EvtIdgetDaugs () 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: