Version: SMASH-2.0
smash::DecayBranch Class Reference

#include <processbranch.h>

DecayBranch is a derivative of ProcessBranch, which is used to represent decay channels. It contains additional information like the angular momentum.

Definition at line 329 of file processbranch.h.

Inheritance diagram for smash::DecayBranch:
[legend]
Collaboration diagram for smash::DecayBranch:
[legend]

Public Member Functions

 DecayBranch (const DecayType &t, double w)
 Construct decay branch. More...
 
 DecayBranch (DecayBranch &&rhs)
 The move constructor efficiently moves the particle-type list member. More...
 
int angular_momentum () const
 
const ParticleTypePtrList & particle_types () const override
 
unsigned int particle_number () const override
 
const DecayTypetype () const
 
ProcessType get_type () const override
 
- Public Member Functions inherited from smash::ProcessBranch
 ProcessBranch ()
 Create a ProcessBranch without final states and weight. More...
 
 ProcessBranch (double w)
 Create a ProcessBranch with with weight but without final states. More...
 
 ProcessBranch (const ProcessBranch &)=delete
 Copying is disabled. Use std::move or create a new object. More...
 
virtual ~ProcessBranch ()=default
 Virtual Destructor. More...
 
void set_weight (double process_weight)
 Set the weight of the branch. More...
 
ParticleList particle_list () const
 
double weight () const
 
double threshold () const
 

Private Attributes

const DecayTypetype_
 Decay type (including final-state particles and angular momentum) More...
 

Additional Inherited Members

- Protected Attributes inherited from smash::ProcessBranch
double branch_weight_
 Weight of the branch, typically a cross section or a branching ratio. More...
 
double threshold_ = -1.
 Threshold of the branch. More...
 

Constructor & Destructor Documentation

◆ DecayBranch() [1/2]

smash::DecayBranch::DecayBranch ( const DecayType t,
double  w 
)
inline

Construct decay branch.

Parameters
[in]tDecayType of branch.
[in]wWeight of created branch.

Definition at line 336 of file processbranch.h.

336 : ProcessBranch(w), type_(t) {}

◆ DecayBranch() [2/2]

smash::DecayBranch::DecayBranch ( DecayBranch &&  rhs)
inline

The move constructor efficiently moves the particle-type list member.

Definition at line 338 of file processbranch.h.

339  : ProcessBranch(rhs.branch_weight_), type_(rhs.type_) {}

Member Function Documentation

◆ angular_momentum()

int smash::DecayBranch::angular_momentum ( ) const
inline
Returns
the quantized angular momentum of this branch.

Definition at line 341 of file processbranch.h.

341 { return type_.angular_momentum(); }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ particle_types()

const ParticleTypePtrList& smash::DecayBranch::particle_types ( ) const
inlineoverridevirtual
Returns
the particle types associated with this branch.

Implements smash::ProcessBranch.

Definition at line 342 of file processbranch.h.

342  {
343  return type_.particle_types();
344  }
Here is the call graph for this function:

◆ particle_number()

unsigned int smash::DecayBranch::particle_number ( ) const
inlineoverridevirtual
Returns
the number of particles in the final state.

Implements smash::ProcessBranch.

Definition at line 345 of file processbranch.h.

345  {
346  return type_.particle_number();
347  }
Here is the call graph for this function:

◆ type()

const DecayType& smash::DecayBranch::type ( ) const
inline
Returns
the DecayType of the branch.

Definition at line 349 of file processbranch.h.

349 { return type_; }
Here is the caller graph for this function:

◆ get_type()

ProcessType smash::DecayBranch::get_type ( ) const
inlineoverridevirtual
Returns
"Decay" to the process type.

Implements smash::ProcessBranch.

Definition at line 351 of file processbranch.h.

351 { return ProcessType::Decay; }
Here is the caller graph for this function:

Member Data Documentation

◆ type_

const DecayType& smash::DecayBranch::type_
private

Decay type (including final-state particles and angular momentum)

Definition at line 355 of file processbranch.h.


The documentation for this class was generated from the following file:
smash::DecayType::particle_number
virtual unsigned int particle_number() const =0
smash::ProcessType::Decay
resonance decay
smash::DecayType::angular_momentum
int angular_momentum() const
Definition: decaytype.h:61
smash::DecayBranch::type_
const DecayType & type_
Decay type (including final-state particles and angular momentum)
Definition: processbranch.h:355
smash::ProcessBranch::ProcessBranch
ProcessBranch()
Create a ProcessBranch without final states and weight.
Definition: processbranch.h:137
smash::DecayType::particle_types
const ParticleTypePtrList & particle_types() const
Definition: decaytype.h:59