File indexing completed on 2026-08-06 09:20:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVT_TWO_BODY_VERTEX_HH
0022 #define EVT_TWO_BODY_VERTEX_HH
0023
0024 #include "EvtGenBase/EvtBlattWeisskopf.hh"
0025 #include "EvtGenBase/EvtTwoBodyKine.hh"
0026
0027 #include <iostream>
0028 #include <memory>
0029
0030
0031
0032 class EvtTwoBodyVertex {
0033 public:
0034 EvtTwoBodyVertex();
0035 EvtTwoBodyVertex( double mA, double mB, double mAB, int L );
0036 EvtTwoBodyVertex( const EvtTwoBodyVertex& other );
0037 EvtTwoBodyVertex& operator=( const EvtTwoBodyVertex& other );
0038
0039 double widthFactor( EvtTwoBodyKine x ) const;
0040 double formFactor( EvtTwoBodyKine x ) const;
0041 double phaseSpaceFactor( EvtTwoBodyKine x, EvtTwoBodyKine::Index ) const;
0042
0043 inline int L() const { return _LL; }
0044 inline double mA() const { return _kine.mA(); }
0045 inline double mB() const { return _kine.mB(); }
0046 inline double mAB() const { return _kine.mAB(); }
0047 inline double pD() const { return _p0; }
0048 void print( std::ostream& os ) const;
0049
0050 void set_f( double R );
0051
0052 private:
0053 EvtTwoBodyKine _kine;
0054 int _LL;
0055 double _p0;
0056 std::unique_ptr<EvtBlattWeisskopf> _f;
0057 };
0058
0059 std::ostream& operator<<( std::ostream& os, const EvtTwoBodyVertex& v );
0060
0061 #endif