GFluxExposureI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::flux::GFluxExposureI
5 
6 \brief GENIE interface for uniform flux exposure iterface
7 
8  Unified flux exposure interface to be used by flux drivers
9  that can support such.
10 
11 \author Robert Hatcher <rhatcher \at fnal.gov>
12  Fermi National Accelerator Laboratory
13 
14 \created 2015-03-17
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  for the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef GENIE_FLUX_GFLUXEXPOSUREI_H
22 #define GENIE_FLUX_GFLUXEXPOSUREI_H
23 
24 #include <string>
25 #include <ctype.h>
26 
27 namespace genie {
28 namespace flux {
29 
30  typedef enum EExposure {
31  kUnknown = 0,
32  kPOTs = 1, // particles (protons) on target
33  kSeconds = 2, // exposure duration
35  } Exposure_t;
36 
38 
39  public:
40 
42  virtual ~GFluxExposureI();
43 
44  /// what units are returned by GetTotalExposure?
45  const char* GetExposureUnits() const;
47 
48  //
49  // define the GFluxExposureI interface:
50  //
51  virtual double GetTotalExposure() const = 0;
52 
53  /// # of rays generated
54  virtual long int NFluxNeutrinos() const = 0;
55 
56 
57  // string conversions for the associated enum
58  static const char* AsString(genie::flux::Exposure_t etype);
59  static genie::flux::Exposure_t StringToEnum(const char* chars, int maxChar=0);
60 
61  private:
63 
64  };
65 
66 } // namespace flux
67 } // namespace genie
68 
69 #endif //GENIE_FLUX_GFLUXEXPOSUREI_H
const char * GetExposureUnits() const
what units are returned by GetTotalExposure?
static const char * AsString(genie::flux::Exposure_t etype)
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
virtual long int NFluxNeutrinos() const =0
of rays generated
genie::flux::Exposure_t GetExposureType() const
static genie::flux::Exposure_t StringToEnum(const char *chars, int maxChar=0)
GENIE interface for uniform flux exposure iterface.
enum genie::flux::EExposure Exposure_t
genie::flux::Exposure_t fEType
virtual double GetTotalExposure() const =0
GFluxExposureI(genie::flux::Exposure_t etype)