]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | /******************************************************************************* |
2 | * Project: BaBar detector at the SLAC PEP-II B-factory | |
3 | * Package: EvtGenBase | |
4 | * File: $Id: EvtTwoBodyVertex.hh,v 1.6 2004/08/06 06:08:26 bartoldu Exp $ | |
5 | * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002 | |
6 | * | |
7 | * Copyright (C) 2002 Caltech | |
8 | *******************************************************************************/ | |
9 | ||
10 | // Two-body propagator vertex AB->A,B with an attached Blatt-Weisskopf form factor. | |
11 | ||
12 | #ifndef EVT_TWO_BODY_VERTEX_HH | |
13 | #define EVT_TWO_BODY_VERTEX_HH | |
14 | ||
15 | #include <iostream> | |
16 | #include "EvtGenBase/EvtTwoBodyKine.hh" | |
17 | #include "EvtGenBase/EvtBlattWeisskopf.hh" | |
18 | ||
19 | #include <iosfwd> | |
20 | ||
21 | class EvtTwoBodyVertex { | |
22 | ||
23 | public: | |
24 | ||
25 | EvtTwoBodyVertex(); | |
26 | EvtTwoBodyVertex(double mA, double mB, double mAB, int L); | |
27 | EvtTwoBodyVertex(const EvtTwoBodyVertex& other); | |
28 | ~EvtTwoBodyVertex(); | |
29 | ||
30 | double widthFactor(EvtTwoBodyKine x) const; | |
31 | double formFactor(EvtTwoBodyKine x) const; | |
32 | double phaseSpaceFactor(EvtTwoBodyKine x, EvtTwoBodyKine::Index) const; | |
33 | ||
34 | inline int L() const { return _LL; } | |
35 | inline double mA() const { return _kine.mA(); } | |
36 | inline double mB() const { return _kine.mB(); } | |
37 | inline double mAB() const { return _kine.mAB(); } | |
38 | inline double pD() const { return _p0; } | |
39 | void print(std::ostream& os) const; | |
40 | ||
41 | void set_f(double R); | |
42 | ||
43 | private: | |
44 | ||
45 | EvtTwoBodyKine _kine; | |
46 | int _LL; | |
47 | double _p0; | |
48 | EvtBlattWeisskopf* _f; // optional Blatt-Weisskopf form factor | |
49 | ||
50 | }; | |
51 | ||
52 | std::ostream& operator<<(std::ostream& os, const EvtTwoBodyVertex& v); | |
53 | ||
54 | #endif |