Back to home page

EIC code displayed by LXR

 
 

    


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

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 EVTRESONANCE2_HH
0022 #define EVTRESONANCE2_HH
0023 
0024 #include "EvtGenBase/EvtVector4R.hh"
0025 
0026 class EvtComplex;
0027 
0028 class EvtResonance2 {
0029   public:
0030     //operator
0031     EvtResonance2& operator=( const EvtResonance2& );
0032 
0033     // Constructor
0034     EvtResonance2( const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
0035                    const EvtVector4R& p4_d2, double ampl = 1.0,
0036                    double theta = 0.0, double gamma = 0.0, double bwm = 0.0,
0037                    int spin = 0, bool invmass_angdenom = false,
0038                    double barrier1 = 1.5, double barrier2 = 5.0 );
0039 
0040     //accessors
0041     //return 4-momenta of the particles involved
0042     inline const EvtVector4R& p4_p() const { return _p4_p; }
0043     inline const EvtVector4R& p4_d1() const { return _p4_d1; }
0044     inline const EvtVector4R& p4_d2() const { return _p4_d2; }
0045 
0046     //return amplitude
0047     inline double amplitude() const { return _ampl; }
0048 
0049     //return theta
0050     inline double theta() const { return _theta; }
0051 
0052     //return gamma
0053     inline double gamma() const { return _gamma; }
0054 
0055     //return bwm
0056     inline double bwm() const { return _bwm; }
0057 
0058     //return spin
0059     inline int spin() const { return _spin; }
0060 
0061     //calculate amplitude for this resonance
0062     EvtComplex resAmpl() const;
0063 
0064   private:
0065     EvtVector4R _p4_p, _p4_d1, _p4_d2;
0066     double _ampl, _theta, _gamma, _bwm, _barrier1, _barrier2;
0067     int _spin;
0068     bool _invmass_angdenom;
0069 };
0070 
0071 #endif