1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtAbsLineShape.hh
13 // Description: Class to keep the particle properties for
16 // Modification history:
18 // Lange March 10, 2001 Module created
20 //------------------------------------------------------------------------
22 #ifndef EVTRELBREITWIGNERBARRIERFACT_HH
23 #define EVTRELBREITWIGNERBARRIERFACT_HH
25 #include "EvtGenBase/EvtAbsLineShape.hh"
27 class EvtRelBreitWignerBarrierFact :public EvtAbsLineShape {
31 EvtRelBreitWignerBarrierFact();
32 EvtRelBreitWignerBarrierFact(double mass, double width, double maxRange, EvtSpinType::spintype sp);
33 //figure the m1 and l on the fly
34 // double mDaug1, double mDaug2, int l);
35 ~EvtRelBreitWignerBarrierFact();
36 EvtRelBreitWignerBarrierFact& operator=(const EvtRelBreitWignerBarrierFact& x);
37 EvtRelBreitWignerBarrierFact(const EvtRelBreitWignerBarrierFact& x);
39 EvtAbsLineShape* clone();
41 double getMassProb(double mass, double massPar, int nDaug, double *massDau);
42 // othDaugId is the other daughter of the parent in the case of a two body decay (only!)
43 // ie B->rho K rho->pipi, othDaugId = K
44 double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses);
46 virtual void reSetBlatt(double blatt) { _blatt = blatt; }