GENIEGenerator
Loading...
Searching...
No Matches
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-2025, 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
31namespace genie {
32
33class NuclearModelI;
34
36
37public:
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
50private:
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_
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
void GenerateFermiMomentum(GHepRecord *event) const
void GenerateDecayProducts(GHepRecord *event) const
void GenerateOscillatingNeutronPosition(GHepRecord *event) const
void ProcessEventRecord(GHepRecord *event) const
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::ENNBarOscMode NNBarOscMode_t