21 #include "marley/ExitChannel.hh"
22 #include "marley/Parity.hh"
27 class StructureDatabase;
60 void print( std::ostream& out )
const;
64 inline std::vector< std::unique_ptr<marley::ExitChannel> >&
69 inline const std::vector< std::unique_ptr<marley::ExitChannel> >&
92 double total_width_ = 0.;
95 std::vector< std::unique_ptr<marley::ExitChannel> > exit_channels_;
99 inline std::vector<std::unique_ptr<marley::ExitChannel> >&
102 inline const std::vector<std::unique_ptr<marley::ExitChannel> >&
107 inline std::ostream& operator<<( std::ostream& out,
The MARLEY Event generator.
Definition: Generator.hh:42
Monte Carlo implementation of the Hauser-Feshbach statistical model for decays of highly-excited nucl...
Definition: HauserFeshbachDecay.hh:31
HauserFeshbachDecay(const marley::Particle &compound_nucleus, double Exi, int twoJi, marley::Parity Pi, marley::StructureDatabase &sdb)
Definition: HauserFeshbachDecay.cc:25
bool do_decay(double &Exf, int &twoJf, marley::Parity &Pf, marley::Particle &emitted_particle, marley::Particle &residual_nucleus, marley::Generator &gen)
Simulates a decay of the compound nucleus.
Definition: HauserFeshbachDecay.cc:193
std::vector< std::unique_ptr< marley::ExitChannel > > & exit_channels()
Get a non-const reference to the owned vector of ExitChannel pointers.
Definition: HauserFeshbachDecay.hh:100
void print(std::ostream &out) const
Print information about the possible decay channels to a std::ostream.
Definition: HauserFeshbachDecay.cc:206
const std::unique_ptr< marley::ExitChannel > & sample_exit_channel(marley::Generator &gen) const
Helper function for do_decay(). Samples an ExitChannel using the partial decay widths as weights.
Definition: HauserFeshbachDecay.cc:239
Type-safe representation of a parity value (either +1 or -1)
Definition: Parity.hh:25
Momentum four-vector for a simulated particle.
Definition: Particle.hh:32
Container for nuclear structure information organized by nuclide.
Definition: StructureDatabase.hh:39