LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenModels - EvtSSSCPT.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 34 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 7 0.0 %

          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: EvtSSSCPT.cc
      12             : //
      13             : // Description: Routine to decay scalar -> 2 scalars (CPT)
      14             : //
      15             : // Modification history:
      16             : //
      17             : //    SHY       April 28, 1997       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/EvtCPUtil.hh"
      26             : #include "EvtGenBase/EvtPDL.hh"
      27             : #include "EvtGenBase/EvtReport.hh"
      28             : #include "EvtGenModels/EvtSSSCPT.hh"
      29             : #include "EvtGenBase/EvtId.hh"
      30             : #include <string>
      31             : #include "EvtGenBase/EvtConst.hh"
      32             : 
      33           0 : EvtSSSCPT::~EvtSSSCPT() {}
      34             : 
      35             : std::string EvtSSSCPT::getName(){
      36             : 
      37           0 :   return "SSS_CPT";     
      38             : 
      39             : }
      40             : 
      41             : 
      42             : EvtDecayBase* EvtSSSCPT::clone(){
      43             : 
      44           0 :   return new EvtSSSCPT;
      45             : 
      46           0 : }
      47             : 
      48             : void EvtSSSCPT::init(){
      49             : 
      50             :   // check that there are 8 arguments
      51           0 :   checkNArg(8);
      52           0 :   checkNDaug(2);
      53             : 
      54           0 : }
      55             : 
      56             : 
      57             : void EvtSSSCPT::decay( EvtParticle *p){
      58             : 
      59             :   //added by Lange Jan4,2000
      60           0 :   static EvtId B0=EvtPDL::getId("B0");
      61           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");
      62             : 
      63             : 
      64           0 :   double t;
      65           0 :   EvtId other_b;
      66             : 
      67           0 :   EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
      68             : 
      69           0 :   p->initializePhaseSpace(getNDaug(),getDaugs());
      70             : 
      71           0 :   EvtComplex amp;
      72             : 
      73           0 :   EvtComplex A,Abar;
      74           0 :   EvtComplex P,Q,D,Im;
      75             : 
      76           0 :   P=EvtComplex(cos(-getArg(0)),sin(-getArg(0)));
      77           0 :   Q=EvtComplex(cos(getArg(0)),sin(getArg(0)));
      78           0 :   D=EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
      79           0 :   Im=EvtComplex(0.0,1.0);
      80             :   
      81           0 :   A=EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
      82           0 :   Abar=EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
      83             :   
      84           0 :   if (other_b==B0B){
      85           0 :     amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
      86           0 :       Im*sin(getArg(1)*t/(2*EvtConst::c))*
      87           0 :       (Q/P*A + 2.0*D*Abar);
      88           0 :   }
      89           0 :   if (other_b==B0){
      90           0 :     amp=Abar*cos(getArg(1)*t/(2*EvtConst::c))+
      91           0 :       Im*sin(getArg(1)*t/(2*EvtConst::c))*
      92           0 :       (P/Q*A - 2.0*D*Abar);
      93           0 :   }
      94             :   
      95           0 :   vertex(amp);
      96             :   
      97             :   return ;
      98           0 : }
      99             : 

Generated by: LCOV version 1.11