CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
VVIObjF.h
Go to the documentation of this file.
1 //
2 // VVIObjF.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 VVIObjF_h
16 #define VVIObjF_h 1
17 
18 // ***********************************************************************************************************************
23 // ***********************************************************************************************************************
24 class VVIObjF {
25 
26  public:
27 
28  VVIObjF(float kappa = 0.01, float beta2 = 1., int mode = 0);
29 
30  float fcn(float x) const;
31  void limits(float& xl, float& xu) const;
32 
33 private:
34 
35  // Vavilov distribution parameters (inputs and common block /G116C1/)
36 
37  const int mode_;
38  float t0_;
39  float t1_;
40  float t_;
41  float omega_;
42  float x0_;
43  float a_[155];
44  float b_[155];
45 };
46 
47 
48 #endif
float omega_
Definition: VVIObjF.h:41
float t1_
Definition: VVIObjF.h:39
const int mode_
returns the limits on the non-zero (mode=0) or normalized region (mode=1)
Definition: VVIObjF.h:37
float x0_
Definition: VVIObjF.h:42
VVIObjF(float kappa=0.01, float beta2=1., int mode=0)
Constructor.
Definition: VVIObjF.cc:45
float t0_
Definition: VVIObjF.h:38
float fcn(float x) const
Definition: VVIObjF.cc:133
float b_[155]
Definition: VVIObjF.h:44
static const G4double kappa
void limits(float &xl, float &xu) const
density (mode=0) or distribution (mode=1) function
Definition: VVIObjF.cc:183
float t_
Definition: VVIObjF.h:40
float a_[155]
Definition: VVIObjF.h:43