GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NucleonDecayPrimaryVtxGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::NucleonDecayPrimaryVtxGenerator
5 
6 \brief Utilities for simulating nucleon decay
7 
8 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9  University of Liverpool
10 
11 \created November 03, 2011
12 
13 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15 */
16 //____________________________________________________________________________
17 
18 #ifndef _NUCLEON_DECAY_PRIMARY_VTX_GENERATOR_H_
19 #define _NUCLEON_DECAY_PRIMARY_VTX_GENERATOR_H_
20 
21 #include <TGenPhaseSpace.h>
22 
25 
26 namespace genie {
27 
28 class NuclearModelI;
29 
31 
32 public:
34  NucleonDecayPrimaryVtxGenerator(string config);
36 
37  // implement the EventRecordVisitorI interface
38  void ProcessEventRecord (GHepRecord * event) const;
39 
40  // overload the Algorithm::Configure() methods to load private data
41  // members from configuration options
42  void Configure(const Registry & config);
43  void Configure(string config);
44 
45 private:
46 
47  void LoadConfig (void);
48  void AddInitialState (GHepRecord * event) const;
49  void GenerateDecayedNucleonPosition (GHepRecord * event) const;
50  void GenerateFermiMomentum (GHepRecord * event) const;
51  void GenerateDecayProducts (GHepRecord * event) const;
52 
53  mutable int fCurrInitStatePdg;
55  mutable int fCurrDecayedNucleon;
56  mutable bool fNucleonIsBound;
57  mutable TGenPhaseSpace fPhaseSpaceGenerator;
58 
60 };
61 
62 } // genie namespace
63 
64 #endif // _NUCLEON_DECAY_PRIMARY_VTX_GENERATOR_H_
Utilities for simulating nucleon decay.
void GenerateDecayedNucleonPosition(GHepRecord *event) const
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:46
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
enum genie::ENucleonDecayMode NucleonDecayMode_t
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45