GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NNBarOscPrimaryVtxGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::NeutronOscPrimaryVtxGenerator
5 
6 \brief Utilities for simulating neutron oscillation
7 
8 \author Jeremy Hewes, Georgia Karagiorgi
9  University of Manchester
10 
11  Adapted from the NucleonDecay package (Author: Costas Andreopoulos).
12 
13 \created November, 2016
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
21 #define _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
22 
23 #include <TGenPhaseSpace.h>
24 #include <TFile.h>
25 #include <TH1.h>
26 #include <string>
27 
30 
31 namespace genie {
32 
33 class NuclearModelI;
34 
36 
37 public:
39  NNBarOscPrimaryVtxGenerator(string config);
41 
42  // implement the EventRecordVisitorI interface
43  void ProcessEventRecord (GHepRecord * event) const;
44 
45  // overload the Algorithm::Configure() methods to load private data
46  // members from configuration options
47  void Configure(const Registry & config);
48  void Configure(string config);
49 
50 private:
51 
52  void LoadConfig (void);
53  void AddInitialState (GHepRecord * event) const;
55  void GenerateFermiMomentum (GHepRecord * event) const;
56  void GenerateDecayProducts (GHepRecord * event) const;
57 
58  mutable int fCurrInitStatePdg;
60  mutable bool fNucleonIsBound;
61  mutable TGenPhaseSpace fPhaseSpaceGenerator;
62 
64 };
65 
66 } // genie namespace
67 
68 #endif // _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
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
enum genie::ENNBarOscMode NNBarOscMode_t
void AddInitialState(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void ProcessEventRecord(GHepRecord *event) const
void GenerateOscillatingNeutronPosition(GHepRecord *event) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45
void GenerateFermiMomentum(GHepRecord *event) const
void GenerateDecayProducts(GHepRecord *event) const