Line data Source code
1 : //-----------------------------------------------------------------------
2 : // File and Version Information:
3 : // $Id: EvtMassAmp.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
4 : //
5 : // Environment:
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.
9 : //
10 : // Copyright Information:
11 : // Copyright (C) 1998 Caltech, UCSB
12 : //
13 : // Module creator:
14 : // Alexei Dvoretskii, Caltech, 2001-2002.
15 : //-----------------------------------------------------------------------
16 :
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.
20 :
21 : #ifndef EVT_MASSAMP_HH
22 : #define EVT_MASSAMP_HH
23 :
24 : #include "EvtGenBase/EvtPoint1D.hh"
25 : #include "EvtGenBase/EvtAmplitude.hh"
26 : #include "EvtGenBase/EvtPropBreitWignerRel.hh"
27 : #include "EvtGenBase/EvtTwoBodyVertex.hh"
28 :
29 : class EvtMassAmp : public EvtAmplitude<EvtPoint1D> {
30 : public:
31 :
32 : EvtMassAmp(const EvtPropBreitWignerRel& prop, const EvtTwoBodyVertex& vd);
33 : EvtMassAmp(const EvtMassAmp& other);
34 : virtual ~EvtMassAmp();
35 :
36 : virtual EvtComplex amplitude(const EvtPoint1D& p) const;
37 :
38 : virtual EvtAmplitude<EvtPoint1D>* clone() const
39 0 : { return new EvtMassAmp(*this); }
40 :
41 : void setBirthVtx(const EvtTwoBodyVertex& vb)
42 : {
43 0 : _vb = new EvtTwoBodyVertex(vb);
44 0 : }
45 :
46 0 : void addBirthFact() { _useBirthFact = true; }
47 0 : void addDeathFact() { _useDeathFact = true; }
48 0 : void addBirthFactFF() { _useBirthFactFF = true; }
49 0 : void addDeathFactFF() { _useDeathFactFF = true; }
50 :
51 : private:
52 :
53 : EvtPropBreitWignerRel _prop;
54 : EvtTwoBodyVertex _vd;
55 : EvtTwoBodyVertex* _vb;
56 :
57 : bool _useBirthFact;
58 : bool _useDeathFact;
59 : bool _useBirthFactFF;
60 : bool _useDeathFactFF;
61 : };
62 :
63 :
64 : #endif
|