18template <
typename TK,
typename TV>
class MEntry {
334 static double setMu2(
const double newmu2 );
346 static const ID64 sNAN;
347 friend bool operator==(
const double&
x,
const ICache::ID64& y );
353 typedef CArray<ncomplex, eeLAST> Save5;
354 typedef MEntry<Kinem5, Save5::Ptr> Entry5;
355 typedef DArray<Entry5, size5> Array5;
356 static Array5 ic5[3];
357 static Save5* getS5(
int ep,
const Kinem5& kin,
int coefn );
359 typedef CArray<ncomplex, ddLAST> Save4;
360 typedef MEntry<Kinem4, Save4::Ptr> Entry4;
361 typedef DArray<Entry4, size4> Array4;
362 static Array4 ic4[3];
363 static Save4* getS4(
int ep,
const Kinem4& kin,
int coefn );
365 typedef CArray<ncomplex, ccLAST> Save3;
366 typedef MEntry<Kinem3, Save3::Ptr> Entry3;
367 typedef DArray<Entry3, size3> Array3;
368 static Array3 ic3[3];
369 static Save3* getS3(
int ep,
const Kinem3& kin,
int coefn );
371 typedef CArray<ncomplex, bbLAST> Save2;
372 typedef MEntry<Kinem2, Save2::Ptr> Entry2;
373 typedef DArray<Entry2, size2> Array2;
374 static Array2 ic2[3];
375 static Save2* getS2(
int ep,
const Kinem2& kin,
int coefn );
380 typedef MEntry<Kinem4, Ival> EntryS4;
381 typedef DArray<EntryS4, size4> ArrayS4;
384 typedef MEntry<Kinem3, Ival> EntryS3;
385 typedef DArray<EntryS3, size3> ArrayS3;
388 typedef MEntry<Kinem2, Ival> EntryS2;
389 typedef DArray<EntryS2, size2> ArrayS2;
392 typedef MEntry<Kinem1, Ival> EntryS1;
393 typedef DArray<EntryS1, size1> ArrayS1;
397inline bool operator==(
const double& x,
const ICache::ID64& y ) {
398 const ICache::DI64
ix = { x };
399 return ix.i64 == y.i64;
418#ifdef USE_SMART_INSERT
419# define INSERTMINOR3 smartinsertMinor3
420# define INSERTMINOR2 smartinsertMinor2
424# define INSERTMINOR3 insertMinor3
425# define INSERTMINOR2 insertMinor2
455#define insertMinorN( n ) \
456 inline void MCache::insertMinor##n( const Kinem##n& k, Minor##n::Ptr& m ) { \
457 cm##n.insert( Entry##n( k, m ) ); \
std::complex< double > ncomplex
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
bool operator==(const double &x, const ICache::ID64 &y)
static double setMu2(const double newmu2)
static ncomplex getI2(int ep, const Kinem2 &k)
static ncomplex getI4(int ep, const Kinem4 &k)
static ncomplex getD(int ep, const Kinem4 &kin)
static ncomplex getI3(int ep, const Kinem3 &k)
static ncomplex getA(int ep, const Kinem1 &kin)
static ncomplex getB(int ep, const Kinem2 &kin)
friend bool operator==(const double &x, const ICache::ID64 &y)
static ncomplex getC(int ep, const Kinem3 &kin)
static ncomplex getE(int ep, const Kinem5 &kin)
static ncomplex getI1(int ep, const Kinem1 &k)
static void insertMinor5(const Kinem5 &k, Minor5::Ptr &m)
static void insertMinor4(const Kinem4 &k, Minor4::Ptr &m)
static Minor5::Ptr getMinor5(const Kinem5 &k)
static Minor2::Ptr getMinor2(const Kinem2 &k)
static Minor3::Ptr getMinor3(const Kinem3 &k)
static void smartinsertMinor2(const Kinem2 &k, Minor2::Ptr &m)
static void insertMinor2(const Kinem2 &k, Minor2::Ptr &m)
static void insertMinor3(const Kinem3 &k, Minor3::Ptr &m)
static Minor4::Ptr getMinor4(const Kinem4 &k)
static void smartinsertMinor3(const Kinem3 &k, Minor3::Ptr &m)
MEntry(const MEntry &entry)
MEntry(const TK &k, TV &v)
MEntry & operator=(const MEntry &entry)