00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef EVTRELBREITWIGNERBARRIERFACT_HH
00023 #define EVTRELBREITWIGNERBARRIERFACT_HH
00024
00025 #include "EvtGenBase/EvtAbsLineShape.hh"
00026
00027 class EvtRelBreitWignerBarrierFact :public EvtAbsLineShape {
00028
00029 public:
00030
00031 EvtRelBreitWignerBarrierFact();
00032 EvtRelBreitWignerBarrierFact(double mass, double width, double maxRange, EvtSpinType::spintype sp);
00033
00034
00035 ~EvtRelBreitWignerBarrierFact();
00036 EvtRelBreitWignerBarrierFact& operator=(const EvtRelBreitWignerBarrierFact& x);
00037 EvtRelBreitWignerBarrierFact(const EvtRelBreitWignerBarrierFact& x);
00038
00039 EvtAbsLineShape* clone();
00040
00041 double getMassProb(double mass, double massPar, int nDaug, double *massDau);
00042
00043
00044 double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses);
00045
00046 virtual void reSetBlatt(double blatt) { _blatt = blatt; }
00047
00048 protected:
00049
00050 double _blatt;
00051 bool _errorCond;
00052
00053 };
00054
00055 #endif
00056