laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
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 49 of file LauResonanceMaker.hh.

Member Typedef Documentation

Define a type to hold information on each BW category.

Definition at line 152 of file LauResonanceMaker.hh.

Constructor & Destructor Documentation

LauResonanceMaker::LauResonanceMaker ( )
private

Constructor.

Definition at line 67 of file LauResonanceMaker.cc.

LauResonanceMaker::~LauResonanceMaker ( )
privatevirtual

Destructor.

Definition at line 78 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 99 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 598 of file LauResonanceMaker.cc.

LauResonanceMaker & LauResonanceMaker::get ( )
static

Get the factory instance.

Definition at line 90 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 628 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 115 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 981 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 676 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 974 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 953 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 540 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 523 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 566 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 557 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 176 of file LauResonanceMaker.hh.

BWFactorCategoryMap LauResonanceMaker::bwFactors_
private

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

Definition at line 185 of file LauResonanceMaker.hh.

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

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

Definition at line 188 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 179 of file LauResonanceMaker.hh.

UInt_t LauResonanceMaker::nResDefMax_
private

The number of known resonances.

Definition at line 170 of file LauResonanceMaker.hh.

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

The known resonances.

Definition at line 173 of file LauResonanceMaker.hh.

LauResonanceMaker * LauResonanceMaker::resonanceMaker_ = 0
staticprivate

The singleton instance.

Definition at line 167 of file LauResonanceMaker.hh.

LauAbsResonance::LauSpinType LauResonanceMaker::spinFormalism_
private

The spin formalism that should be used for all resonances.

Definition at line 182 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 191 of file LauResonanceMaker.hh.


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