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-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
22 #define _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
23 
24 #include <TGenPhaseSpace.h>
25 #include <TFile.h>
26 #include <TH1.h>
27 #include <string>
28 
31 
32 namespace genie {
33 
34 class NuclearModelI;
35 
37 
38 public:
42 
43  // implement the EventRecordVisitorI interface
44  void ProcessEventRecord (GHepRecord * event) const;
45 
46  // overload the Algorithm::Configure() methods to load private data
47  // members from configuration options
48  void Configure(const Registry & config);
49  void Configure(string config);
50 
51 private:
52 
53  void LoadConfig (void);
54  void AddInitialState (GHepRecord * event) const;
56  void GenerateFermiMomentum (GHepRecord * event) const;
57  void GenerateDecayProducts (GHepRecord * event) const;
58 
59  mutable int fCurrInitStatePdg;
61  mutable bool fNucleonIsBound;
62  mutable TGenPhaseSpace fPhaseSpaceGenerator;
63 
65 };
66 
67 } // genie namespace
68 
69 #endif // _NNBAR_OSC_PRIMARY_VTX_GENERATOR_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
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:42
Definition: config.py:1
enum genie::ENNBarOscMode NNBarOscMode_t
void AddInitialState(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
void ProcessEventRecord(GHepRecord *event) const
void GenerateOscillatingNeutronPosition(GHepRecord *event) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46
void GenerateFermiMomentum(GHepRecord *event) const
void GenerateDecayProducts(GHepRecord *event) const