GENIEGenerator
Loading...
Searching...
No Matches
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-2025, 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
27namespace genie {
28namespace flux {
29
30 typedef enum EExposure {
32 kPOTs = 1, // particles (protons) on target
33 kSeconds = 2, // exposure duration
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?
virtual double GetTotalExposure() const =0
static genie::flux::Exposure_t StringToEnum(const char *chars, int maxChar=0)
GFluxExposureI(genie::flux::Exposure_t etype)
static const char * AsString(genie::flux::Exposure_t etype)
genie::flux::Exposure_t GetExposureType() const
virtual long int NFluxNeutrinos() const =0
genie::flux::Exposure_t fEType
GENIE flux drivers.
enum genie::flux::EExposure Exposure_t
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25