1 //-----------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: EvtMassAmp.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
6 // This software is part of the EvtGen package developed jointly
7 // for the BaBar and CLEO collaborations. If you use all or part
8 // of it, please give an appropriate acknowledgement.
10 // Copyright Information:
11 // Copyright (C) 1998 Caltech, UCSB
14 // Alexei Dvoretskii, Caltech, 2001-2002.
15 //-----------------------------------------------------------------------
17 // Relativistic lineshape for a two-body decay of a resonance to two
18 // pseudoscalars. The mass dependence of the width and the vertex factors
19 // are included in the calculation.
21 #ifndef EVT_MASSAMP_HH
22 #define EVT_MASSAMP_HH
24 #include "EvtGenBase/EvtPoint1D.hh"
25 #include "EvtGenBase/EvtAmplitude.hh"
26 #include "EvtGenBase/EvtPropBreitWignerRel.hh"
27 #include "EvtGenBase/EvtTwoBodyVertex.hh"
29 class EvtMassAmp : public EvtAmplitude<EvtPoint1D> {
32 EvtMassAmp(const EvtPropBreitWignerRel& prop, const EvtTwoBodyVertex& vd);
33 EvtMassAmp(const EvtMassAmp& other);
34 virtual ~EvtMassAmp();
36 virtual EvtComplex amplitude(const EvtPoint1D& p) const;
38 virtual EvtAmplitude<EvtPoint1D>* clone() const
39 { return new EvtMassAmp(*this); }
41 void setBirthVtx(const EvtTwoBodyVertex& vb)
43 _vb = new EvtTwoBodyVertex(vb);
46 void addBirthFact() { _useBirthFact = true; }
47 void addDeathFact() { _useDeathFact = true; }
48 void addBirthFactFF() { _useBirthFactFF = true; }
49 void addDeathFactFF() { _useDeathFactFF = true; }
53 EvtPropBreitWignerRel _prop;
55 EvtTwoBodyVertex* _vb;