![]() |
|
|||
File indexing completed on 2024-04-06 12:26:23
0001 // 0002 // VVIObjF.h (v2.0) 0003 // 0004 // Vavilov density and distribution functions 0005 // 0006 // 0007 // Created by Morris Swartz on 1/14/10. 0008 // 2010 __TheJohnsHopkinsUniversity__. 0009 // 0010 // V1.1 - make dzero call both fcns with a switch 0011 // V1.2 - remove inappriate initializers and add methods to return non-zero/normalized region 0012 // V2.0 - restructuring and speed improvements by V. Innocente 0013 // V3.0 - further simplification and speedup by Tamas Vami 0014 // 0015 0016 #ifndef VVIObjF_h 0017 #define VVIObjF_h 1 0018 0019 // *********************************************************************************************************************** 0020 //! \class VVIObjF 0021 //! 0022 //! Port of CERNLIB routines vvidis/vviden (G116) to calculate higher quality Vavilov density and distribution functions 0023 //! 0024 // *********************************************************************************************************************** 0025 class VVIObjF { 0026 public: 0027 VVIObjF(float kappa, float beta2, int mode); //!< Constructor 0028 VVIObjF(float kappa); //!< Constructor with kappa only 0029 0030 float fcn(float x) const; //! density (mode=0) or distribution (mode=1) function 0031 void limits(float& xl, 0032 float& xu) const; //! returns the limits on the non-zero (mode=0) or normalized region (mode=1) 0033 0034 private: 0035 // Vavilov distribution parameters (inputs and common block /G116C1/) 0036 const int mode_; //!< set to 0 to calculate the density function and to 1 to calculate the distribution function 0037 float t0_; 0038 float t1_; 0039 float t_; 0040 float omega_; 0041 float x0_; 0042 float a_[155]; 0043 float b_[155]; 0044 }; 0045 0046 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |