BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtdFunction.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtKine.cc
12//
13// Description: Evaluates the Wigner d-Functions.
14//
15// Modification history:
16//
17// RYD March 14, 1999 Module created
18//
19//------------------------------------------------------------------------
20//
21#include "EvtdFunction.hh"
22#include "EvtPatches.hh"
23#include "EvtdFunctionSingle.hh"
24#include <assert.h>
25#include <iostream>
26#include <math.h>
27#include <stdlib.h>
28
29double EvtdFunction::d( int j, int m1, int m2, double theta ) {
30
31 int m1p = m1;
32 int m2p = m2;
33
34 int signp = 1;
35 // make |m2p|>|m1p|
36 if ( abs( m2p ) < abs( m1p ) )
37 {
38 int tmp = m1p;
39 m1p = m2p;
40 m2p = tmp;
41 if ( ( m1p - m2p ) % 4 != 0 ) signp = -signp;
42 }
43
44 // make m2p non-negative
45 if ( m2p < 0 )
46 {
47 m1p = -m1p;
48 m2p = -m2p;
49 if ( ( m1p - m2p ) % 4 != 0 ) signp = -signp;
50 }
51
53
54 df.init( j, m1p, m2p );
55
56 double d = df.d( j, m1p, m2p, theta ) * signp;
57
58 return d;
59}
double d(int j, int m1, int m2, double theta)
void init(int j, int m1, int m2)
static double d(int j, int m1, int m2, double theta)
double double * m2
Definition qcdloop1.h:83
double * m1
Definition qcdloop1.h:83