ATLAS Offline Software
TFCS2DFunction.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunction_h
6 #define ISF_FASTCALOSIMEVENT_TFCS2DFunction_h
7 
9 
11 #include <vector>
12 
13 class TH2;
14 
15 class TFCS2DFunction : public TFCSFunction {
16 public:
19 
20  virtual int ndim() const { return 2; };
21 
22  virtual void rnd_to_fct(float &valuex, float &valuey, float rnd0,
23  float rnd1) const = 0;
24  virtual void rnd_to_fct(float value[], const float rnd[]) const;
25 
26  static double CheckAndIntegrate2DHistogram(const TH2 *hist,
27  std::vector<double> &integral_vec,
28  int &first, int &last);
29 
30  static void unit_test ATLAS_NOT_THREAD_SAFE(
31  TH2 *hist = nullptr, TFCS2DFunction *rtof = nullptr,
32  const char *outfilename = "TFCS2DFunction_unit_test.root",
33  int nrnd = 10000000);
34  static void unit_tests ATLAS_NOT_THREAD_SAFE(
35  TH2 *hist = nullptr,
36  const char *outfilename = "TFCS2DFunction_unit_test.root",
37  int nrnd = 10000000);
38 
39 private:
40  ClassDef(TFCS2DFunction, 1) // TFCS2DFunction
41 };
42 
43 #endif
TFCS2DFunction::ATLAS_NOT_THREAD_SAFE
static void unit_test ATLAS_NOT_THREAD_SAFE(TH2 *hist=nullptr, TFCS2DFunction *rtof=nullptr, const char *outfilename="TFCS2DFunction_unit_test.root", int nrnd=10000000)
TFCS2DFunction::TFCS2DFunction
TFCS2DFunction()
Definition: TFCS2DFunction.h:17
plotmaker.hist
hist
Definition: plotmaker.py:148
athena.value
value
Definition: athena.py:122
TFCSFunction
Definition: TFCSFunction.h:12
TFCS2DFunction::CheckAndIntegrate2DHistogram
static double CheckAndIntegrate2DHistogram(const TH2 *hist, std::vector< double > &integral_vec, int &first, int &last)
Definition: TFCS2DFunction.cxx:26
TFCS2DFunction::rnd_to_fct
virtual void rnd_to_fct(float &valuex, float &valuey, float rnd0, float rnd1) const =0
TH2
Definition: rootspy.cxx:373
TFCS2DFunction::ndim
virtual int ndim() const
Return the number of dimensions for the function.
Definition: TFCS2DFunction.h:20
TFCS2DFunction::~TFCS2DFunction
~TFCS2DFunction()
Definition: TFCS2DFunction.h:18
DeMoScan.first
bool first
Definition: DeMoScan.py:534
TFCS2DFunction
Definition: TFCS2DFunction.h:15
TFCS2DFunction::ATLAS_NOT_THREAD_SAFE
static void unit_tests ATLAS_NOT_THREAD_SAFE(TH2 *hist=nullptr, const char *outfilename="TFCS2DFunction_unit_test.root", int nrnd=10000000)
checker_macros.h
Define macros for attributes used to control the static checker.
python.CreateTierZeroArgdict.outfilename
outfilename
Definition: CreateTierZeroArgdict.py:236
TFCSFunction.h