Line data Source code
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 "EvtGenBase/EvtPatches.hh"
22 : #include <stdlib.h>
23 : #include <math.h>
24 : #include <iostream>
25 : #include <assert.h>
26 : #include "EvtGenBase/EvtdFunction.hh"
27 : #include "EvtGenBase/EvtdFunctionSingle.hh"
28 :
29 :
30 : double EvtdFunction::d(int j,int m1,int m2, double theta){
31 :
32 :
33 : int m1p=m1;
34 : int m2p=m2;
35 :
36 :
37 : int signp=1;
38 : //make |m2p|>|m1p|
39 0 : if (abs(m2p)<abs(m1p)) {
40 : int tmp=m1p;
41 : m1p=m2p;
42 : m2p=tmp;
43 0 : if ((m1p-m2p)%4!=0) signp=-signp;
44 0 : }
45 :
46 : //make m2p non-negative
47 0 : if (m2p<0) {
48 0 : m1p=-m1p;
49 0 : m2p=-m2p;
50 0 : if ((m1p-m2p)%4!=0) signp=-signp;
51 : }
52 :
53 :
54 0 : EvtdFunctionSingle df;
55 :
56 0 : df.init(j,m1p,m2p);
57 :
58 0 : double d=df.d(j,m1p,m2p,theta)*signp;
59 :
60 : return d;
61 :
62 0 : }
63 :
64 :
65 :
|