CMS 3D CMS Logo

VVIObj.h
Go to the documentation of this file.
1 //
2 // VVIObj.h (v2.0)
3 //
4 // Vavilov density and distribution functions
5 //
6 //
7 // Created by Morris Swartz on 1/14/10.
8 // 2010 __TheJohnsHopkinsUniversity__.
9 //
10 // V1.1 - make dzero call both fcns with a switch
11 // V1.2 - remove inappriate initializers and add methods to return non-zero/normalized region
12 // V2.0 - restructuring and speed improvements by V. Innocente
13 //
14 
15 #ifndef VVIObj_h
16 #define VVIObj_h 1
17 
18 namespace sistripvvi {
19  // ***********************************************************************************************************************
24  // ***********************************************************************************************************************
25  class VVIObj {
26  public:
27  VVIObj(double kappa = 0.01, double beta2 = 1., int mode = 0);
28 
29  double fcn(double x) const;
30  void limits(double& xl,
31  double& xu) const;
32 
33  private:
34  // Vavilov distribution parameters (inputs and common block /G116C1/)
35 
36  const int mode_;
37  double t0_;
38  double t1_;
39  double t_;
40  double omega_;
41  double x0_;
42  double a_[155];
43  double b_[155];
44  };
45 } // namespace sistripvvi
46 
47 #endif
double b_[155]
Definition: VVIObj.h:43
const int mode_
returns the limits on the non-zero (mode=0) or normalized region (mode=1)
Definition: VVIObj.h:36
void limits(double &xl, double &xu) const
density (mode=0) or distribution (mode=1) function
Definition: VVIObj.cc:191
double omega_
Definition: VVIObj.h:40
float x
double fcn(double x) const
Definition: VVIObj.cc:142
VVIObj(double kappa=0.01, double beta2=1., int mode=0)
Constructor.
Definition: VVIObj.cc:49
double a_[155]
Definition: VVIObj.h:42