GENIEGenerator
Loading...
Searching...
No Matches
HNLChannelCalculatorI.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::hnl::ChannelCalculatorI
5
6\brief Pure abstract base class. Defines the ChannelCalculatorI interface
7 to be implemented by BRCalculator Algorithm for calculating HNL production
8 and decay rates.
9
10\author John Plows <komninos-john.plows \at physics.ox.ac.uk>
11 University of Oxford
12
13 based off AxialFormFactorModelI by
14 Aarom Meyer <asmeyer2012 \at uchicago.edu>
15
16 Costas Andreopoulos <c.andreopoulos \at cern.ch>
17 University of Liverpool
18
19\created November 17, 2022
20
21\cpright Copyright (c) 2003-2025, The GENIE Collaboration
22 For the full text of the license visit http://copyright.genie-mc.org
23*/
24//____________________________________________________________________________
25
26#ifndef _HNL_CHANNEL_CALCULATOR_I_H_
27#define _HNL_CHANNEL_CALCULATOR_I_H_
28
32
33namespace genie {
34
35 class Registry;
36
37 namespace hnl {
38
40
41 public:
42
43 // overload the Algorithm::Configure() methods to load private data
44 // members from configuration options
45 virtual void Configure(const Registry & config) = 0;
46 virtual void Configure(string config) = 0;
47
48 // return the kinematic scaling for a production channel
49 virtual double KinematicScaling( HNLProd_t hnlprod ) const = 0;
50
51 // return the integrated decay width for a decay channel
52 virtual double DecayWidth( HNLDecayMode_t hnldm ) const = 0;
53
54 protected:
55
57 ChannelCalculatorI(string name);
58 ChannelCalculatorI(string name, string config);
59
60 }; // class ChannelCalculatorI
61 } // namespace hnl
62} // namespace genie
63
64#endif // #ifndef _HNL_CHANNEL_CALCULATOR_I_H_
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
virtual void Configure(const Registry &config)=0
virtual void Configure(string config)=0
virtual double KinematicScaling(HNLProd_t hnlprod) const =0
virtual double DecayWidth(HNLDecayMode_t hnldm) const =0
enum genie::hnl::t_HNLProd HNLProd_t
enum genie::hnl::EHNLDecayMode HNLDecayMode_t
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25