NeutronOscPrimaryVtxGenerator.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 Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
9  University of Liverpool & STFC Rutherford Appleton Lab
10 
11 \created November 03, 2011
12 
13 \cpright Copyright (c) 2003-2017, GENIE Neutrino MC Generator Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15  or see $GENIE/LICENSE
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _NEUTRON_OSC_PRIMARY_VTX_GENERATOR_H_
20 #define _NEUTRON_OSC_PRIMARY_VTX_GENERATOR_H_
21 
22 #include <TGenPhaseSpace.h>
23 #include <TFile.h>
24 #include <TH1.h>
25 #include <string>
26 
29 
30 namespace genie {
31 
32 class NuclearModelI;
33 
35 
36 public:
40 
41  // implement the EventRecordVisitorI interface
42  void ProcessEventRecord (GHepRecord * event) const;
43 
44  // overload the Algorithm::Configure() methods to load private data
45  // members from configuration options
46  void Configure(const Registry & config);
47  void Configure(string config);
48 
49 private:
50 
51  void LoadConfig (void);
52  void AddInitialState (GHepRecord * event) const;
54  void GenerateFermiMomentum (GHepRecord * event) const;
55  void GenerateDecayProducts (GHepRecord * event) const;
56 
57  mutable int fCurrInitStatePdg;
59  mutable bool fNucleonIsBound;
60  mutable TGenPhaseSpace fPhaseSpaceGenerator;
61 
63 };
64 
65 } // genie namespace
66 
67 #endif // _NEUTRON_OSC_PRIMARY_VTX_GENERATOR_H_
void GenerateDecayProducts(GHepRecord *event) const
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
void Configure(const Registry &config)
Configure the algorithm.
Utilities for simulating neutron oscillation.
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
void GenerateFermiMomentum(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
enum genie::ENeutronOscMode NeutronOscMode_t
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46
void GenerateOscillatingNeutronPosition(GHepRecord *event) const
Event finding and building.