eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
Distributor.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_SMEAR_DISTRIBUTOR_H_
11 #define INCLUDE_EICSMEAR_SMEAR_DISTRIBUTOR_H_
12 
13 #include <Rtypes.h>
14 
15 class TF1;
16 class TString;
17 
18 namespace Smear {
19 
32 class Distributor {
33  public:
38  Distributor();
39 
54  Distributor(const TString& formula, double lower, double upper,
55  double minimum = -1.e6, double maximum = 1.e6);
56 
60  virtual ~Distributor();
61 
65  virtual double Generate(double midpoint, double width);
66 
67  protected:
68  double mPlus;
69  double mMinus;
71 
72  ClassDef(Smear::Distributor, 1)
73 };
74 
75 } // namespace Smear
76 
77 #endif // INCLUDE_EICSMEAR_SMEAR_DISTRIBUTOR_H_
Smear
Definition: Acceptance.cxx:16
Smear::Distributor::mMinus
double mMinus
Definition: Distributor.h:69
Smear::Distributor::Distributor
Distributor()
Default constructor.
Definition: Distributor.cxx:18
Smear::Distributor::mPlus
double mPlus
Definition: Distributor.h:68
Smear::Distributor
Distribution function for random sampling.
Definition: Distributor.h:32
Smear::Distributor::~Distributor
virtual ~Distributor()
Destructor.
Definition: Distributor.cxx:38
Smear::Distributor::mDistribution
TF1 * mDistribution
Definition: Distributor.h:70
Smear::Distributor::Generate
virtual double Generate(double midpoint, double width)
Generate a random value based on a given midpoint and width.
Definition: Distributor.cxx:45