GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HNLFluxRecordVisitorI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::hnl::FluxRecordVisitorI
5 
6 \brief Expands the EventRecordVisitorI interface to include public interfaces
7  for the HNL FluxCreator module.
8  Concrete implementations of this interface use the 'Visitor' Design
9  Pattern to perform an operation on an EventRecord.
10 
11 \author John Plows <komninos-john.plows \at physics.ox.ac.uk>
12  University of Oxford
13 
14  Costas Andreopoulos <c.andreopoulos \at cern.ch>
15  University of Liverpool
16 
17 \created January 22nd, 2023
18 
19 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
20  For the full text of the license visit http://copyright.genie-mc.org
21 */
22 //____________________________________________________________________________
23 
24 #ifndef _HNL_FLUX_RECORD_VISITOR_I_H_
25 #define _HNL_FLUX_RECORD_VISITOR_I_H_
26 
27 //#include "Framework/EventGen/EventRecordVisitorI.h"
30 
31 namespace genie {
32 
33  class GHepRecord;
34 
35  namespace hnl {
36 
37  class FluxContainer;
38 
40 
41  public:
42 
43  virtual ~FluxRecordVisitorI();
44 
45  //-- define the FluxRecordVisitorI interface
46 
47  virtual void ProcessEventRecord(GHepRecord * event_rec) const = 0;
48 
49  virtual FluxContainer RetrieveFluxInfo() const = 0;
50 
51  virtual std::vector< double > GetB2UTranslation() const = 0;
52  virtual std::vector< double > GetB2URotation() const = 0;
53  virtual std::vector< double > GetDetOffset() const = 0;
54  virtual std::vector< double > GetDetRotation() const = 0;
55 
56  virtual void SetInputFluxPath( std::string finpath ) const = 0;
57  virtual void SetGeomFile( std::string geomfile ) const = 0;
58  virtual int GetNFluxEntries() const = 0;
59  virtual void SetFirstFluxEntry( int iFirst ) const = 0;
60 
61  protected:
62 
64  FluxRecordVisitorI(string name);
65  FluxRecordVisitorI(string name, string config);
66 
67  };
68 
69  } // namespace hnl
70 
71 } // namespace genie
72 
73 #endif // #ifndef _HNL_FLUX_RECORD_VISITOR_I_H_
virtual std::vector< double > GetB2URotation() const =0
virtual void SetFirstFluxEntry(int iFirst) const =0
A GENIE flux container specific for HNL containers. Based on the dk2nu flux paradigm and genie::flux:...
virtual void ProcessEventRecord(GHepRecord *event_rec) const =0
Expands the EventRecordVisitorI interface to include public interfaces for the HNL VertexGenerator mo...
virtual FluxContainer RetrieveFluxInfo() const =0
virtual int GetNFluxEntries() const =0
virtual std::vector< double > GetDetRotation() const =0
virtual std::vector< double > GetB2UTranslation() const =0
Expands the EventRecordVisitorI interface to include public interfaces for the HNL FluxCreator module...
virtual void SetInputFluxPath(std::string finpath) const =0
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45
virtual void SetGeomFile(std::string geomfile) const =0
virtual std::vector< double > GetDetOffset() const =0