YAP
|
#include <DecayingParticle.h>
Public Member Functions | |
const DecayTreeVectorMap & | decayTrees () const |
virtual bool | consistent () const override |
Check consistency of object. | |
virtual void | checkDecayChannel (const DecayChannel &c) const |
virtual std::shared_ptr < DecayChannel > | addChannel (std::shared_ptr< DecayChannel > c) |
std::shared_ptr< DecayChannel > | addChannel (const ParticleVector &daughters) |
template<typename... Types> | |
std::shared_ptr< DecayChannel > | addChannel (std::shared_ptr< Particle > A, std::shared_ptr< Particle > B, Types...other_daughters) |
void | printDecayChain () const |
Print complete decay chain. | |
const Model * | model () const override |
Getters | |
const DecayChannelVector & | channels () const |
std::shared_ptr< RealParameter > | radialSize () |
const BlattWeisskopfMap & | blattWeisskopfs () const |
![]() | |
const QuantumNumbers & | quantumNumbers () const |
const access QuantumNumbers object | |
const std::string & | name () const |
Get name (const) | |
std::string & | name () |
Get name. | |
const ParticleCombinationSet & | particleCombinations () const |
Static Public Member Functions | |
static std::shared_ptr < DecayingParticle > | create (std::string name, const QuantumNumbers &q, double radialSize, std::shared_ptr< PhaseSpaceFactorFactory > phsp_factory=DefaultPHSPFactory) |
Public Attributes | |
friend | Model |
grant friend status to Model to call fixSolitaryFreeAmplitudes() | |
friend | DecayChannel |
grant friend status to DecayChannel to call registerWithModel() | |
Protected Member Functions | |
DecayingParticle (std::string name, const QuantumNumbers &q, double radialSize, std::shared_ptr< PhaseSpaceFactorFactory > phsp_factory) | |
virtual void | addParticleCombination (const std::shared_ptr< ParticleCombination > &c) override |
add ParticleCombination to SymmetrizationIndices_ and BlattWeisskopfs_ | |
virtual void | pruneParticleCombinations () override |
prune ParticleCombinations_ to only contain ParticleCombination's tracing back up the ISP | |
virtual void | registerWithModel () override |
register any necessary DataAccessor's with model | |
void | fixSolitaryFreeAmplitudes () |
if only one decay channel is available, fix its free amplitude to the current value | |
void | printDecayChainLevel (int level) const |
virtual void | modifyDecayTree (DecayTree &dt) |
virtual std::shared_ptr < PhaseSpaceFactor > | phaseSpaceFactor (const DecayChannel &dc, const SpinAmplitude &sa) |
std::shared_ptr < PhaseSpaceFactorFactory > | phaseSpaceFactorFactory () |
![]() | |
Particle (std::string name, const QuantumNumbers &q) | |
Private Attributes | |
DecayChannelVector | Channels_ |
vector of decay channel objects | |
BlattWeisskopfMap | BlattWeisskopfs_ |
map of Blatt-Weisskopf barrier factors, key = angular momentum | |
std::shared_ptr< RealParameter > | RadialSize_ |
Radial size parameter [GeV^-1]. | |
DecayTreeVectorMap | DecayTrees_ |
Map of spin projection to DecayTreeVector. | |
std::shared_ptr < PhaseSpaceFactorFactory > | PhaseSpaceFactorFactory_ |
PhaseSpaceFactorFactory. | |
Class for a particle that will decay
The amplitude function returns a sum over the amplitudes of all DecayChannel's for the decay of the particle (denoted P, with daughters in channel c denoted D1, D2; and amplitude A_c):
A_c = a_c * Blatt-Weisskopf(P->D1+D2) * SpinAmplitude(P->D1+D2) * A(D1->xx) * A(D2->xx)
with free amplitude a_c.
|
protected |
Constructor see create
|
virtual |
Add a DecayChannel and set its parent to this DecayingParticle.
c | unique_ptr to DecayChannel, should be constructed in function call, or use std::move(c) |
create decay trees for channel:
loop over spin amplitudes of channel
Reimplemented in Resonance.
std::shared_ptr< DecayChannel > addChannel | ( | const ParticleVector & | daughters | ) |
Add a DecayChannel and set its parent to this DecayingParticle.
daughters | ParticleVector of daughters to create DecayChannel object from |
|
inline |
Add a DecayChannel and set its parent to this DecayingParticle.
A | shared_ptr to a daughter |
B | shared_ptr to a daughter |
other_daughters... | other daughters |
|
inline |
|
inline |
|
virtual |
Check if a DecayChannel is valid for DecayingParticle; will throw if invalid
Reimplemented in Resonance.
|
inlinestatic |
create
name | Name of decaying particle |
q | QuantumNumbers of decaying particle |
radialSize | radial size of decaying particle |
|
inline |
|
overridevirtual |
Implements Particle.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in Resonance.
|
inlineprotected |
|
inline |