Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:35

0001 // -*- C++ -*-
0002 // $Id: 
0003 //---------------------PtRelFcn---------------------------------------------//
0004 //                                                                          //
0005 // Class PtRelFcn                                                           //
0006 //                                                                          //
0007 // This class is a parameterization of ptrel distributions measured at      //
0008 // CDF.  It has 6 parameters, and is normalized.  Alternate descriptions,   //
0009 // in the past, have used 7 parameters but without normalization.           // 
0010 //                                                                          //
0011 // Joe Boudreau, Azizur Rahaman, March 2003                                 //
0012 //                                                                          //
0013 //--------------------------------------------------------------------------//
0014 #ifndef PtRelFcn_h
0015 #define PtRelFcn_h 1
0016 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0017 #include "CLHEP/GenericFunctions/Parameter.hh"
0018 #include "CLHEP/GenericFunctions/LogGamma.hh"
0019 #include "CLHEP/GenericFunctions/Erf.hh"
0020 
0021 namespace Genfun {
0022 
0023   /**
0024    * @author
0025    * @ingroup genfun
0026    */
0027   class PtRelFcn : public AbsFunction  {
0028 
0029     FUNCTION_OBJECT_DEF(PtRelFcn)
0030 
0031       public:
0032 
0033     // Constructor
0034     PtRelFcn();
0035 
0036     // Copy constructor
0037     PtRelFcn(const PtRelFcn &right);
0038   
0039     // Destructor
0040     virtual ~PtRelFcn();
0041   
0042     // Retreive function value
0043     virtual double operator ()(double argument) const override;
0044     virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
0045   
0046     // Parameter P0:
0047     Parameter & P0(); 
0048     const Parameter & P0() const; 
0049 
0050     // Parameter P1:
0051     Parameter & P1(); 
0052     const Parameter & P1() const; 
0053 
0054     // Parameter P2:
0055     Parameter & P2(); 
0056     const Parameter & P2() const; 
0057 
0058     // Parameter P3:
0059     Parameter & P3(); 
0060     const Parameter & P3() const; 
0061 
0062     // Parameter P4:
0063     Parameter & P4(); 
0064     const Parameter & P4() const; 
0065 
0066     // Parameter P5:
0067     Parameter & P5(); 
0068     const Parameter & P5() const; 
0069 
0070   private:
0071 
0072     // It is illegal to assign an adjustable constant
0073     const PtRelFcn & operator=(const PtRelFcn &right);
0074 
0075     // Here are the parameters:
0076     Parameter _p0,_p1,_p2,_p3,_p4,_p5;
0077     LogGamma  _logGamma;
0078     Erf       _erf;
0079   };
0080 } // namespace Genfun
0081 
0082 #endif