]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | //----------------------------------------------------------------------- |
2 | // File and Version Information: | |
0ca57c2f | 3 | // $Id: EvtMassAmp.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $ |
da0e9ce3 | 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 | { return new EvtMassAmp(*this); } | |
40 | ||
41 | void setBirthVtx(const EvtTwoBodyVertex& vb) | |
42 | { | |
43 | _vb = new EvtTwoBodyVertex(vb); | |
44 | } | |
45 | ||
46 | void addBirthFact() { _useBirthFact = true; } | |
47 | void addDeathFact() { _useDeathFact = true; } | |
48 | void addBirthFactFF() { _useBirthFactFF = true; } | |
49 | 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 |