Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:20:07

0001 
0002 /***********************************************************************
0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors       *
0004 *                                                                      *
0005 * This file is part of EvtGen.                                         *
0006 *                                                                      *
0007 * EvtGen is free software: you can redistribute it and/or modify       *
0008 * it under the terms of the GNU General Public License as published by *
0009 * the Free Software Foundation, either version 3 of the License, or    *
0010 * (at your option) any later version.                                  *
0011 *                                                                      *
0012 * EvtGen is distributed in the hope that it will be useful,            *
0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
0015 * GNU General Public License for more details.                         *
0016 *                                                                      *
0017 * You should have received a copy of the GNU General Public License    *
0018 * along with EvtGen.  If not, see <https://www.gnu.org/licenses/>.     *
0019 ***********************************************************************/
0020 
0021 #ifndef EVTPFERMI_HH
0022 #define EVTPFERMI_HH
0023 
0024 // Description:
0025 //   DFN model:
0026 //      F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
0027 //      the fermi motion distribution according to
0028 //      hep-ph/9905351 v2
0029 //   BLNP model:
0030 //      F(what,Lambda,b) = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(what/_Lambda,_b-1)*
0031 //                           exp(-_b*what/Lambda);
0032 //      the leading order shape function (exp) (hep-ph/0504071)
0033 
0034 class EvtPFermi final {
0035   public:
0036     // Constructors
0037 
0038     EvtPFermi( const double& a, const double& mB, const double& mb );
0039     EvtPFermi( const double& Lambda, const double& b );
0040 
0041     // Operators
0042 
0043     // Selectors
0044 
0045     // Modifiers
0046 
0047     // Methods
0048 
0049     double getFPFermi( const double& kplus );
0050     double getSFBLNP( const double& what );
0051 
0052   protected:
0053     // Helper functions
0054 
0055   private:
0056     // Friends
0057 
0058     // Data members
0059 
0060     double _a;
0061     double _mb;
0062     double _mB;
0063     double _Lambda;
0064     double _b;
0065 };
0066 
0067 #endif    // EVTPFERMI_HH