LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenModels - EvtSLBKPoleFF.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 118 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 8 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: EvtSLBKPoleFF.cc
      12             : //
      13             : // Description: Routine to implement semileptonic form factors
      14             : //              according to the model SLBKPoles
      15             : //
      16             : // Modification history:
      17             : //
      18             : //    liheng       October 20,2005       Module created
      19             : //
      20             : //------------------------------------------------------------------------
      21             : // 
      22             : #include "EvtGenBase/EvtPatches.hh"
      23             : #include "EvtGenBase/EvtReport.hh"
      24             : #include "EvtGenModels/EvtSLBKPoleFF.hh"//modified
      25             : #include <string>
      26             : #include "EvtGenBase/EvtPDL.hh"
      27             : #include <math.h>
      28             : #include <stdlib.h>
      29             : 
      30           0 : EvtSLBKPoleFF::EvtSLBKPoleFF(int numarg, double *arglist) {//modified
      31           0 :    numSLBKPoleargs = numarg;//modified
      32           0 :    for (int i=0; i<numarg; i++) {
      33           0 :       SLBKPoleargs[i] = arglist[i]; }//modified
      34             : 
      35           0 :    return;
      36           0 : }
      37             : 
      38             : 
      39             : void EvtSLBKPoleFF::getscalarff(EvtId parent,EvtId daught,
      40             :                        double t, double /*mass*/, double *fpf,
      41             :                             double *f0f ) {
      42             : 
      43             : // Form factors have a general form, with parameters passed in
      44             : // from the arguments.
      45             : 
      46           0 :    if ( numSLBKPoleargs != 4 ) {//modified
      47           0 :      report(Severity::Error,"EvtGen") << "Problem in EvtSLBKPoleFF::getscalarff\n";
      48           0 :      report(Severity::Error,"EvtGen") << "wrong number of arguments!\n";
      49           0 :      report(Severity::Error,"EvtGen") << "number args:"<<numSLBKPoleargs<<" (expected 4)\n";
      50           0 :      report(Severity::Error,"EvtGen") << "Parent:"<<EvtPDL::name(parent)<<"\n";
      51           0 :      report(Severity::Error,"EvtGen") << "Daughter:"<<EvtPDL::name(daught)<<"\n";
      52             : 
      53           0 :    }
      54             : 
      55             : 
      56             :   double f0,af,powf;
      57             : 
      58             :   //double a_0, a_1, a_2, a_3, a_4, a_5, a_6, a_7;
      59             : 
      60           0 :   f0 = SLBKPoleargs[0];//f0
      61           0 :   af = SLBKPoleargs[1];//alpha
      62             :   //bf = SLBKPoleargs[2];
      63           0 :   double mass_star2 = SLBKPoleargs[3]*SLBKPoleargs[3];
      64             :   powf = 1.0;
      65           0 :   *fpf = f0/(pow( 1.0 - (1.0+af)*(t/mass_star2) + (af*((t/mass_star2)*(t/mass_star2))),powf));//modified
      66             : 
      67           0 :   f0 = SLBKPoleargs[0];//f0
      68           0 :   af = SLBKPoleargs[2];//beta
      69             :   //bf = SLBKPoleargs[6];
      70             :   powf = 1.0;
      71             : 
      72           0 :   *f0f = f0/(pow( 1.0 - (t/mass_star2/af),powf));//modified
      73             : 
      74             :   return;
      75           0 : }
      76             : 
      77             : void EvtSLBKPoleFF::getvectorff(EvtId parent,EvtId /*daught*/,
      78             :                        double t, double /*mass*/, double *a1f,
      79             :                              double *a2f, double *vf, double *a0f ){
      80             : 
      81           0 :    if ( numSLBKPoleargs !=8 ) {//modified
      82           0 :      report(Severity::Error,"EvtGen") << "Problem in EvtSLBKPoleFF::getvectorff\n";//modified
      83           0 :      report(Severity::Error,"EvtGen") << "wrong number of arguements!!!\n";
      84           0 :      report(Severity::Error,"EvtGen") << numSLBKPoleargs<<"\n";//modified
      85             : //     printf("\n*********************%d*********************",numSLBKPoleargs);
      86           0 :   }
      87             : 
      88             : 
      89           0 :    report(Severity::Info,"EvtGen")<<"Check the implementation of EvtSLBKPoleFF::getvectorff()!\n";
      90             : 
      91             : 
      92           0 :   double mb=EvtPDL::getMeanMass(parent);
      93           0 :   double mb2 = mb*mb;
      94             : 
      95             : //modified-begin
      96           0 :   static EvtId B0=EvtPDL::getId("B0");
      97           0 :   static EvtId B0B=EvtPDL::getId("anti-B0");  
      98           0 :   static EvtId BP=EvtPDL::getId("B+");
      99           0 :   static EvtId BM=EvtPDL::getId("B-");
     100           0 :   static EvtId BS0=EvtPDL::getId("B_s0");
     101             : 
     102           0 :   static EvtId B0S=EvtPDL::getId("B*0");
     103           0 :   static EvtId BPMS=EvtPDL::getId("B*+");  
     104           0 :   static EvtId BS0S=EvtPDL::getId("B_s*0");
     105             :   
     106           0 :   static EvtId D0=EvtPDL::getId("D0");
     107           0 :   static EvtId D0B=EvtPDL::getId("anti-D0");
     108           0 :   static EvtId DP=EvtPDL::getId("D+");
     109           0 :   static EvtId DM=EvtPDL::getId("D-");
     110           0 :   static EvtId DSP=EvtPDL::getId("D_s+");
     111           0 :   static EvtId DSM=EvtPDL::getId("D_s-");
     112             : 
     113           0 :   static EvtId D0S=EvtPDL::getId("D*0");
     114           0 :   static EvtId DPMS=EvtPDL::getId("D*+");
     115           0 :   static EvtId DSPMS=EvtPDL::getId("D_s*+");
     116             : 
     117             :   double mass_star=0.0;
     118             :   double mass_star2=0.0;
     119           0 :   if(parent==B0||parent==B0B){
     120           0 :      mass_star=EvtPDL::getMeanMass(B0S);
     121           0 :      mass_star2=mass_star*mass_star;
     122           0 :   }
     123           0 :   if(parent==BP||parent==BM){
     124           0 :      mass_star=EvtPDL::getMeanMass(BPMS);
     125           0 :      mass_star2=mass_star*mass_star;
     126           0 :   }
     127           0 :   if(parent==BS0){
     128           0 :      mass_star=EvtPDL::getMeanMass(BS0S);
     129           0 :      mass_star2=mass_star*mass_star;
     130           0 :   }
     131             : 
     132           0 :   if(parent==D0||parent==D0B){
     133           0 :      mass_star=EvtPDL::getMeanMass(D0S);
     134           0 :      mass_star2=mass_star*mass_star;
     135           0 :   }
     136           0 :   if(parent==DP||parent==DM){
     137           0 :      mass_star=EvtPDL::getMeanMass(DPMS);
     138           0 :      mass_star2=mass_star*mass_star;
     139           0 :   }
     140           0 :   if(parent==DSP||parent==DSM){
     141           0 :      mass_star=EvtPDL::getMeanMass(DSPMS);
     142           0 :      mass_star2=mass_star*mass_star;
     143           0 :   }
     144             : //modified-end
     145             : 
     146             :   double f0,af,bf,powf;
     147             : 
     148           0 :   f0 = SLBKPoleargs[2];//A1
     149           0 :   af = SLBKPoleargs[6];//b'
     150             :   bf = 0;//0
     151             :   powf = 1.0;//1.0
     152           0 :   *a1f = f0/(pow( 1.0 - af*t/mass_star2,powf));//modified
     153             : 
     154           0 :   f0 = SLBKPoleargs[3];//A2
     155           0 :   af = SLBKPoleargs[6];//b'
     156           0 :   bf = SLBKPoleargs[7];//b''==0
     157             :   powf = 1.0;//1.0
     158             : 
     159           0 :   *a2f = f0/(pow(1.0 - (af+bf)*(t/mass_star2) + (af*bf)*((t/mass_star2)*(t/mass_star2)),powf));//modified
     160             : 
     161           0 :   f0 = SLBKPoleargs[0];//V0
     162           0 :   af = SLBKPoleargs[4];//a
     163             :   bf = 0;//0
     164             :   powf = 1.0;//1.0
     165             : 
     166           0 :   *vf = f0/(pow( 1.0 - (1.0+af)*(t/mass_star2) + af*(t/mass_star2)*(t/mass_star2),powf));//modified
     167             : 
     168           0 :   f0 = SLBKPoleargs[1];//A0
     169           0 :   af = SLBKPoleargs[5];//a'
     170             :   bf = 0;//0
     171             :   powf = 1.0;//1.0
     172             : 
     173           0 :   *a0f = f0/(pow( 1.0 - (1.0+af)*(t/mb2) + af*((t/mb2)*(t/mb2)),powf));//modified
     174             :   return;
     175           0 :  }
     176             : 
     177             : 
     178             : 
     179             : void EvtSLBKPoleFF::gettensorff(EvtId parent,EvtId /*daught*/,
     180             :                        double t, double /*mass*/, double *hf,
     181             :                              double *kf, double *bpf, double *bmf ){
     182             : 
     183           0 :   if ( numSLBKPoleargs !=16 ) {
     184           0 :      report(Severity::Error,"EvtGen") << "Problem in EvtSLBKPoleFF::gettensorff\n";
     185           0 :      report(Severity::Error,"EvtGen") << "wrong number of arguements!!!\n";
     186           0 :   }
     187             : 
     188           0 :   report(Severity::Info,"EvtGen")<<"Check the implementation of EvtSLBKPoleFF::gettensorff()!\n";
     189             : 
     190           0 :   double mb=EvtPDL::getMeanMass(parent);
     191           0 :   double mb2 = mb*mb;
     192             : 
     193             :   double f0,af,bf,powf;
     194             : 
     195           0 :   f0 = SLBKPoleargs[0];
     196           0 :   af = SLBKPoleargs[1];
     197           0 :   bf = SLBKPoleargs[2];
     198           0 :   powf = SLBKPoleargs[3];
     199           0 :   *hf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
     200             : 
     201           0 :   f0 = SLBKPoleargs[4];
     202           0 :   af = SLBKPoleargs[5];
     203           0 :   bf = SLBKPoleargs[6];
     204           0 :   powf = SLBKPoleargs[7];
     205             : 
     206           0 :   *kf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
     207             : 
     208           0 :   f0 = SLBKPoleargs[8];
     209           0 :   af = SLBKPoleargs[9];
     210           0 :   bf = SLBKPoleargs[10];
     211           0 :   powf = SLBKPoleargs[11];
     212             : 
     213           0 :   *bpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
     214             : 
     215           0 :   f0 = SLBKPoleargs[12];
     216           0 :   af = SLBKPoleargs[13];
     217           0 :   bf = SLBKPoleargs[14];
     218           0 :   powf = SLBKPoleargs[15];
     219             : 
     220           0 :   *bmf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
     221             :   return;
     222           0 :  }
     223             : 
     224             : void EvtSLBKPoleFF::getbaryonff(EvtId, EvtId, double, double, double*, 
     225             :                                 double*, double*, double*){
     226             :   
     227           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtSLBKPoleFF.\n";  
     228           0 :   ::abort();
     229             : 
     230             : }
     231             : 
     232             : void EvtSLBKPoleFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
     233             :                                double*, double*, double*, double*) {
     234             :   
     235           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtSLBKPoleFF.\n";
     236           0 :   ::abort();
     237             : 
     238             : }
     239             : 
     240             : void EvtSLBKPoleFF::getraritaff(EvtId, EvtId, double, double, double*, double*, 
     241             :                                 double*, double*, double*, double*, double*, double*) {
     242             :   
     243           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtSLBKPoleFF.\n";
     244           0 :   ::abort();
     245             : 
     246             : }
     247             : 
     248             : 

Generated by: LCOV version 1.11