Decayer.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::Decayer
5 
6 \brief Base class for decayer classes.
7  Implements common configuration, allowing users to toggle on/off
8  flags for particles and decay channels.
9  Is a concerete implementation of the EventRecordVisitorI interface.
10 
11 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
12  University of Liverpool & STFC Rutherford Appleton Laboratory
13 
14 \created November 14, 2018
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _DECAYER_H_
22 #define _DECAYER_H_
23 
24 class TDecayChannel;
25 
29 
30 namespace genie {
31 
32 class GHepParticle;
33 
34 class Decayer : public EventRecordVisitorI {
35 
36 public:
37  virtual ~Decayer();
38 
39  // Overload the Algorithm::Configure() methods to load private data
40  // members from configuration options
41  void Configure(const Registry & config);
42  void Configure(string config);
43 
44 protected:
45  Decayer();
46  Decayer(string name);
47  Decayer(string name, string config);
48 
49  virtual void LoadConfig (void);
50  virtual bool ToBeDecayed (int pdgc, GHepStatus_t ist) const;
51  virtual bool IsUnstable (int pdgc) const;
52  virtual bool IsHandled (int pdgc) const = 0;
53  virtual void InhibitDecay (int pdgc, TDecayChannel * dc=0) const = 0;
54  virtual void UnInhibitDecay(int pdgc, TDecayChannel * dc=0) const = 0;
55 
56  bool fGenerateWeighted; ///< generate weighted or unweighted decays?
57  bool fRunBefHadroTransp; ///< is invoked before or after FSI?
58  PDGCodeList fParticlesToDecay; ///< list of particles to be decayed
59  PDGCodeList fParticlesNotToDecay; ///< list of particles for which decay is inhibited
60 };
61 
62 } // genie namespace
63 #endif // _DECAYER_H_
static QCString name
Definition: declinfo.cpp:673
virtual bool ToBeDecayed(int pdgc, GHepStatus_t ist) const
Definition: Decayer.cxx:51
virtual bool IsUnstable(int pdgc) const
Definition: Decayer.cxx:87
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
virtual void InhibitDecay(int pdgc, TDecayChannel *dc=0) const =0
virtual ~Decayer()
Definition: Decayer.cxx:46
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
void Configure(const Registry &config)
Definition: Decayer.cxx:119
virtual void UnInhibitDecay(int pdgc, TDecayChannel *dc=0) const =0
A list of PDG codes.
Definition: PDGCodeList.h:32
static Config * config
Definition: config.cpp:1054
virtual bool IsHandled(int pdgc) const =0
bool fRunBefHadroTransp
is invoked before or after FSI?
Definition: Decayer.h:57
bool fGenerateWeighted
generate weighted or unweighted decays?
Definition: Decayer.h:56
PDGCodeList fParticlesNotToDecay
list of particles for which decay is inhibited
Definition: Decayer.h:59
PDGCodeList fParticlesToDecay
list of particles to be decayed
Definition: Decayer.h:58
virtual void LoadConfig(void)
Definition: Decayer.cxx:135
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
Base class for decayer classes. Implements common configuration, allowing users to toggle on/off flag...
Definition: Decayer.h:34
enum genie::EGHepStatus GHepStatus_t