laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Singleton factory class for creating resonances. More...

#include <LauResonanceMaker.hh>

Classes

struct  BlattWeisskopfCategoryInfo
 Data structure to store information on a given Blatt-Weisskopf category. More...
 

Public Member Functions

void setBWType (const LauBlattWeisskopfFactor::BarrierType bwType)
 Set the type of BW factor (for all categories) More...
 
void setBWBachelorRestFrame (const LauBlattWeisskopfFactor::RestFrame restFrame)
 Set the rest frame in which the bachelor momentum should be calculated (for all BW categories) More...
 
void setSpinFormalism (const LauAbsResonance::LauSpinType spinType)
 Set the spin formalism to be used for all resonances. More...
 
void setDefaultBWRadius (const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius)
 Set the BW radius for the given category. More...
 
void fixBWRadius (const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Bool_t fixRadius)
 Fix or release the Blatt-Weisskopf barrier radius for the given category. More...
 
LauAbsResonancegetResonance (const LauDaughters *daughters, const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default)
 Create a resonance. More...
 
Int_t resTypeInt (const TString &name) const
 Retrieve the integer index for the specified resonance. More...
 
UInt_t getNResDefMax () const
 Retrieve the number of defined resonances. More...
 
void printAll (std::ostream &stream) const
 Print the information records, one per line, to the requested stream. More...
 
LauResonanceInfogetResInfo (const TString &resName) const
 Get the information for the given resonance name. More...
 

Static Public Member Functions

static LauResonanceMakerget ()
 Get the factory instance. More...
 

Protected Member Functions

void createResonanceVector ()
 Create the list of known resonances. More...
 
LauBlattWeisskopfFactorgetBWFactor (const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const LauResonanceInfo *resInfo)
 Retrieve Blatt-Weisskopf factor for the given category. More...
 

Private Types

typedef std::map
< LauBlattWeisskopfFactor::BlattWeisskopfCategory,
BlattWeisskopfCategoryInfo
BWFactorCategoryMap
 Define a type to hold information on each BW category. More...
 

Private Member Functions

 LauResonanceMaker ()
 Constructor. More...
 
virtual ~LauResonanceMaker ()
 Destructor. More...
 
 LauResonanceMaker (const LauResonanceMaker &other)
 Copy constructor (not inplemented) More...
 
LauResonanceMakeroperator= (const LauResonanceMaker &other)
 Copy assignment (not implemented) More...
 

Private Attributes

UInt_t nResDefMax_
 The number of known resonances. More...
 
std::vector< LauResonanceInfo * > resInfo_
 The known resonances. More...
 
LauBlattWeisskopfFactor::BarrierType bwBarrierType_
 The type of the Blatt-Weisskopf barrier to use for all resonances. More...
 
LauBlattWeisskopfFactor::RestFrame bwRestFrame_
 The rest frame in which the bachelor momentum used in the Blatt-Weisskopf factors should be calculated. More...
 
LauAbsResonance::LauSpinType spinFormalism_
 The spin formalism that should be used for all resonances. More...
 
BWFactorCategoryMap bwFactors_
 The Blatt-Weisskopf factor objects (and related information) for each category. More...
 
std::vector
< LauBlattWeisskopfFactor * > 
bwIndepFactors_
 The Blatt-Weisskopf factor objects for resonances in the independent category. More...
 
Bool_t summaryPrinted_
 Boolean flag to control printing a summary of the formalism to be used when the first resonance is created. More...
 

Static Private Attributes

static LauResonanceMakerresonanceMaker_ = 0
 The singleton instance. More...
 

Detailed Description

Singleton factory class for creating resonances.

Singleton factory class for creating resonances. Information records for all known resonances are stored within this class.

Definition at line 35 of file LauResonanceMaker.hh.

Member Typedef Documentation

Define a type to hold information on each BW category.

Definition at line 138 of file LauResonanceMaker.hh.

Constructor & Destructor Documentation

LauResonanceMaker::LauResonanceMaker ( )
private

Constructor.

Definition at line 48 of file LauResonanceMaker.cc.

LauResonanceMaker::~LauResonanceMaker ( )
privatevirtual

Destructor.

Definition at line 59 of file LauResonanceMaker.cc.

LauResonanceMaker::LauResonanceMaker ( const LauResonanceMaker other)
private

Copy constructor (not inplemented)

Member Function Documentation

void LauResonanceMaker::createResonanceVector ( )
protected

Create the list of known resonances.

Definition at line 80 of file LauResonanceMaker.cc.

void LauResonanceMaker::fixBWRadius ( const LauBlattWeisskopfFactor::BlattWeisskopfCategory  bwCategory,
const Bool_t  fixRadius 
)

Fix or release the Blatt-Weisskopf barrier radius for the given category.

Parameters
[in]bwCategorythe Blatt-Weisskopf barrier factor category
[in]fixRadiusnew status of the radius (kTRUE = fixed, kFALSE = floating)

Definition at line 563 of file LauResonanceMaker.cc.

LauResonanceMaker & LauResonanceMaker::get ( )
static

Get the factory instance.

Definition at line 71 of file LauResonanceMaker.cc.

LauBlattWeisskopfFactor * LauResonanceMaker::getBWFactor ( const LauBlattWeisskopfFactor::BlattWeisskopfCategory  bwCategory,
const LauResonanceInfo resInfo 
)
protected

Retrieve Blatt-Weisskopf factor for the given category.

Definition at line 593 of file LauResonanceMaker.cc.

UInt_t LauResonanceMaker::getNResDefMax ( ) const
inline

Retrieve the number of defined resonances.

Returns
the number of defined resonances

Definition at line 101 of file LauResonanceMaker.hh.

LauResonanceInfo * LauResonanceMaker::getResInfo ( const TString &  resName) const

Get the information for the given resonance name.

Parameters
[in]resNamethe name of the resonant particle
Returns
the LauResonanceInfo pointer if we can find the resonance name

Definition at line 914 of file LauResonanceMaker.cc.

LauAbsResonance * LauResonanceMaker::getResonance ( const LauDaughters daughters,
const TString &  resName,
const Int_t  resPairAmpInt,
const LauAbsResonance::LauResonanceModel  resType,
const LauBlattWeisskopfFactor::BlattWeisskopfCategory  bwCategory = LauBlattWeisskopfFactor::Default 
)

Create a resonance.

Parameters
[in]daughtersdefines the Dalitz plot in which the resonance should be created
[in]resNamethe name of the resonant particle
[in]resPairAmpIntthe index of the daughter not produced by the resonance
[in]resTypethe type of the resonance
[in]bwCategorythe Blatt-Weisskopf barrier factor category
Returns
the resonance

Definition at line 641 of file LauResonanceMaker.cc.

LauResonanceMaker& LauResonanceMaker::operator= ( const LauResonanceMaker other)
private

Copy assignment (not implemented)

void LauResonanceMaker::printAll ( std::ostream &  stream) const

Print the information records, one per line, to the requested stream.

Parameters
[in,out]streamthe stream to which to print the info

Definition at line 907 of file LauResonanceMaker.cc.

Int_t LauResonanceMaker::resTypeInt ( const TString &  name) const

Retrieve the integer index for the specified resonance.

Parameters
[in]namethe name of the resonant particle
Returns
the index

Definition at line 886 of file LauResonanceMaker.cc.

void LauResonanceMaker::setBWBachelorRestFrame ( const LauBlattWeisskopfFactor::RestFrame  restFrame)

Set the rest frame in which the bachelor momentum should be calculated (for all BW categories)

This must be used before creating any resonances

Parameters
[in]restFramethe rest frame in which the bachelor momentum should be calculated for the Blatt-Weisskopf factors

Definition at line 505 of file LauResonanceMaker.cc.

void LauResonanceMaker::setBWType ( const LauBlattWeisskopfFactor::BarrierType  bwType)

Set the type of BW factor (for all categories)

This must be used before creating any resonances

Parameters
[in]bwTypethe Blatt-Weisskopf barrier type

Definition at line 488 of file LauResonanceMaker.cc.

void LauResonanceMaker::setDefaultBWRadius ( const LauBlattWeisskopfFactor::BlattWeisskopfCategory  bwCategory,
const Double_t  bwRadius 
)

Set the BW radius for the given category.

Parameters
[in]bwCategorythe Blatt-Weisskopf barrier factor category
[in]bwRadiusthe radius value to be used for the given category

Definition at line 531 of file LauResonanceMaker.cc.

void LauResonanceMaker::setSpinFormalism ( const LauAbsResonance::LauSpinType  spinType)

Set the spin formalism to be used for all resonances.

This must be used before creating any resonances

Parameters
[in]spinTypethe spin formalism to be used

Definition at line 522 of file LauResonanceMaker.cc.

Member Data Documentation

LauBlattWeisskopfFactor::BarrierType LauResonanceMaker::bwBarrierType_
private

The type of the Blatt-Weisskopf barrier to use for all resonances.

Definition at line 162 of file LauResonanceMaker.hh.

BWFactorCategoryMap LauResonanceMaker::bwFactors_
private

The Blatt-Weisskopf factor objects (and related information) for each category.

Definition at line 171 of file LauResonanceMaker.hh.

std::vector<LauBlattWeisskopfFactor*> LauResonanceMaker::bwIndepFactors_
private

The Blatt-Weisskopf factor objects for resonances in the independent category.

Definition at line 174 of file LauResonanceMaker.hh.

LauBlattWeisskopfFactor::RestFrame LauResonanceMaker::bwRestFrame_
private

The rest frame in which the bachelor momentum used in the Blatt-Weisskopf factors should be calculated.

Definition at line 165 of file LauResonanceMaker.hh.

UInt_t LauResonanceMaker::nResDefMax_
private

The number of known resonances.

Definition at line 156 of file LauResonanceMaker.hh.

std::vector<LauResonanceInfo*> LauResonanceMaker::resInfo_
private

The known resonances.

Definition at line 159 of file LauResonanceMaker.hh.

LauResonanceMaker * LauResonanceMaker::resonanceMaker_ = 0
staticprivate

The singleton instance.

Definition at line 153 of file LauResonanceMaker.hh.

LauAbsResonance::LauSpinType LauResonanceMaker::spinFormalism_
private

The spin formalism that should be used for all resonances.

Definition at line 168 of file LauResonanceMaker.hh.

Bool_t LauResonanceMaker::summaryPrinted_
private

Boolean flag to control printing a summary of the formalism to be used when the first resonance is created.

Definition at line 177 of file LauResonanceMaker.hh.


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