LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenBase - EvtAbsLineShape.hh (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 22 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 16 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: EvtGen/EvtAbsLineShape.hh
      12             : //
      13             : // Description: Class to keep the particle properties for
      14             : //              one particle
      15             : //
      16             : // Modification history:
      17             : //
      18             : //    Lange     March 10, 2001         Module created
      19             : //
      20             : //------------------------------------------------------------------------
      21             : 
      22             : #ifndef EVTABSLINESHAPE_HH
      23             : #define EVTABSLINESHAPE_HH
      24             : 
      25             : #include "EvtGenBase/EvtSpinType.hh"
      26             : #include "EvtGenBase/EvtId.hh"
      27             : #include <vector>
      28             : 
      29             : class EvtId;
      30             : 
      31             : class EvtAbsLineShape {
      32             : 
      33             : public:
      34             : 
      35             :   EvtAbsLineShape(); 
      36             :   EvtAbsLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp); 
      37             :   virtual ~EvtAbsLineShape();
      38             :   EvtAbsLineShape& operator=(const EvtAbsLineShape& x);
      39             :   EvtAbsLineShape(const EvtAbsLineShape& x); 
      40             : 
      41           0 :   double getMass() {return _mass;}
      42           0 :   double getMassMin() {return _massMin;} 
      43           0 :   double getMassMax() {return _massMax;}
      44           0 :   double getMaxRange() {return _maxRange;}
      45           0 :   double getWidth() {return _width;} 
      46           0 :   EvtSpinType::spintype getSpinType() {return _spin;}
      47             :   virtual double rollMass();
      48             :   virtual EvtAbsLineShape* clone();
      49             : 
      50           0 :   void reSetMass(double mass) { _mass=mass;}
      51           0 :   void reSetWidth(double width) { _width=width;}
      52           0 :   void reSetMassMin(double mass) { _massMin=mass;}
      53           0 :   void reSetMassMax(double mass) { _massMax=mass;}
      54           0 :   virtual void reSetBlatt(double /*blatt*/) {};
      55           0 :   virtual void reSetBlattBirth(double /*blatt*/) {};
      56           0 :   void includeBirthFactor(bool yesno) { _includeBirthFact = yesno; }
      57           0 :   void includeDecayFactor(bool yesno) { _includeDecayFact = yesno; }
      58             :   void setPWForDecay( int spin, EvtId d1, EvtId d2) { 
      59           0 :     _userSetPW.push_back(spin);
      60           0 :     _userSetPWD1.push_back(d1);
      61           0 :     _userSetPWD2.push_back(d2);
      62           0 :   }
      63             :   void setPWForBirthL( int spin, EvtId par, EvtId othD) { 
      64           0 :     _userSetBirthPW.push_back(spin);
      65           0 :     _userSetBirthOthD.push_back(othD);
      66           0 :     _userSetBirthPar.push_back(par);
      67           0 :   }
      68             : 
      69             :   virtual double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId,double maxMass, double *dauMasses);
      70             :   virtual double getMassProb(double mass, double massPar, int nDaug, double *massDau);
      71             : 
      72             : protected:
      73             : 
      74             :   bool _includeDecayFact;
      75             :   bool _includeBirthFact;
      76             :   double _mass;
      77             :   double _massMin;
      78             :   double _massMax;
      79             :   double _width;
      80             :   double _maxRange;
      81             : 
      82             :   // allow for special cases where the default method of picking the
      83             :   //lowest allowed partial wave for a decay is not the right answer.
      84             :   // string is "<spin> <daughter1> <daughter2>"
      85             :   //new 9/12/2003 Lange
      86             :   std::vector<EvtId> _userSetPWD1,_userSetPWD2;
      87             :   std::vector<int> _userSetPW;
      88             : 
      89             :   // also do it for birth factors
      90             :   std::vector<EvtId> _userSetBirthPar,_userSetBirthOthD;
      91             :   std::vector<int> _userSetBirthPW;
      92             : 
      93             :   EvtSpinType::spintype _spin;
      94             : }; 
      95             : 
      96             : #endif
      97             : 

Generated by: LCOV version 1.11