GENIEGenerator
Loading...
Searching...
No Matches
HNLDecayRecordVisitorI.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::hnl::DecayRecordVisitorI
5
6\brief Expands the EventRecordVisitorI interface to include public interfaces
7 for the HNL Decayer 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 23rd, 2023
18
19\cpright Copyright (c) 2003-2025, The GENIE Collaboration
20 For the full text of the license visit http://copyright.genie-mc.org
21*/
22//____________________________________________________________________________
23
24#ifndef _HNL_DECAY_RECORD_VISITOR_I_H_
25#define _HNL_DECAY_RECORD_VISITOR_I_H_
26
28
29namespace genie {
30
31 class GHepRecord;
32
33 namespace hnl {
34
36
37 public:
38
39 virtual ~DecayRecordVisitorI();
40
41 //-- define the DecayRecordVisitorI interface
42
43 virtual void ProcessEventRecord(GHepRecord * event_rec) const = 0;
44
45 virtual double GetHNLLifetime() const = 0;
46 virtual double GetHNLMass() const = 0;
47 virtual std::vector< double > GetHNLCouplings() const = 0;
48 virtual bool IsHNLMajorana() const = 0;
49
50 virtual std::string GetHNLInterestingChannels() const = 0;
51
52 //-- additional methods for particle-gun
53
54 virtual std::vector< double > GetPGunOrigin() const = 0;
55 virtual std::vector< double > GetPGunDOrigin() const = 0;
56
57 virtual double GetPGunEnergy() const = 0;
58 virtual std::vector< double > GetPGunDirection() const = 0;
59 virtual std::vector< double > GetPGunDeviation() const = 0;
60
61 protected:
62
64 DecayRecordVisitorI(string name);
65 DecayRecordVisitorI(string name, string config);
66
67 };
68
69 } // namespace hnl
70
71} // namespace genie
72
73#endif // #ifndef _HNL_DECAY_RECORD_VISITOR_I_H_
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
virtual void ProcessEventRecord(GHepRecord *event_rec) const =0
virtual bool IsHNLMajorana() const =0
virtual std::vector< double > GetPGunDeviation() const =0
virtual std::vector< double > GetPGunDOrigin() const =0
virtual std::vector< double > GetHNLCouplings() const =0
virtual std::vector< double > GetPGunDirection() const =0
virtual double GetHNLMass() const =0
virtual std::string GetHNLInterestingChannels() const =0
virtual double GetHNLLifetime() const =0
virtual double GetPGunEnergy() const =0
virtual std::vector< double > GetPGunOrigin() const =0
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25