Fix bug in building local list of valid files.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtVSS.cpp
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: EvtVSS.cc
12 //
13 // Description: Routine to decay vector-> scalar scalar
14 //
15 // Modification history:
16 //
17 //    RYD       November 24, 1996       Module created
18 //
19 //------------------------------------------------------------------------
20 // 
21 #include "EvtGenBase/EvtPatches.hh"
22 #include <stdlib.h>
23 #include "EvtGenBase/EvtParticle.hh"
24 #include "EvtGenBase/EvtGenKine.hh"
25 #include "EvtGenBase/EvtPDL.hh"
26 #include "EvtGenBase/EvtVector4C.hh"
27 #include "EvtGenBase/EvtVector4R.hh"
28 #include "EvtGenBase/EvtReport.hh"
29 #include "EvtGenModels/EvtVSS.hh"
30 #include <string>
31
32 EvtVSS::~EvtVSS() {}
33
34 std::string EvtVSS::getName(){
35
36   return "VSS"; 
37     
38 }
39
40
41 EvtDecayBase* EvtVSS::clone(){
42
43   return new EvtVSS;
44
45 }
46
47 void EvtVSS::init(){
48
49   // check that there are 0 arguments
50   checkNArg(0);
51
52   // check that there are 2 daughters
53   checkNDaug(2);
54
55   // check the parent and daughter spins
56   checkSpinParent(EvtSpinType::VECTOR);
57   checkSpinDaughter(0,EvtSpinType::SCALAR);
58   checkSpinDaughter(1,EvtSpinType::SCALAR);
59 }
60
61 void EvtVSS::initProbMax() {
62
63    setProbMax(1.0);
64
65 }      
66
67 void EvtVSS::decay( EvtParticle *p){
68
69   p->initializePhaseSpace(getNDaug(),getDaugs());
70
71   EvtVector4R pDaug = p->getDaug(0)->getP4();
72   
73   double norm=1.0/pDaug.d3mag();
74
75   for (int i=0; i<3; i++) vertex(i,norm*pDaug*(p->eps(i)));
76
77   return;
78 }
79