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 
27  public:
28 
29  VVIObj(double kappa = 0.01, double beta2 = 1., int mode = 0);
30 
31  double fcn(double x) const;
32  void limits(double& xl, double& xu) const;
33 
34 private:
35 
36  // Vavilov distribution parameters (inputs and common block /G116C1/)
37 
38  const int mode_;
39  double t0_;
40  double t1_;
41  double t_;
42  double omega_;
43  double x0_;
44  double a_[155];
45  double b_[155];
46 };
47 }
48 
49 #endif
double b_[155]
Definition: VVIObj.h:45
const int mode_
returns the limits on the non-zero (mode=0) or normalized region (mode=1)
Definition: VVIObj.h:38
T x() const
Cartesian x coordinate.
double fcn(double x) const
Definition: VVIObj.cc:139
void limits(double &xl, double &xu) const
density (mode=0) or distribution (mode=1) function
Definition: VVIObj.cc:188
double omega_
Definition: VVIObj.h:42
static const G4double kappa
VVIObj(double kappa=0.01, double beta2=1., int mode=0)
Constructor.
Definition: VVIObj.cc:52
double a_[155]
Definition: VVIObj.h:44