]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtTwoBodyVertex.hh
New plots for trending injector efficiencies (Melinda)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtTwoBodyVertex.hh
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