ROOTPWA
wave.h
Go to the documentation of this file.
1 #ifndef WAVE_H
2 #define WAVE_H
3 
4 
5 #include <complex>
6 #include <string>
7 
8 #include "lorentz.h"
9 #include "particle.h"
10 
11 
12 #define getsign(x) (((x)>0)?"+":"-")
13 
14 
15 class wave : public particle {
16 
17 public:
18 
19  wave();
20  wave(const wave& wv);
21  virtual ~wave();
22 
23  wave& operator = (const wave& wv);
25 
26  wave setM (const int m);
27  wave setSlope(const double b);
28  wave setT (const double t);
29  wave channel (const char* ch);
30 
31  fourVec getBeam () const { return _beam; }
32  fourVec getTarget() const { return _target; }
33  int M () const { return _m; }
34  std::string channel () const { return _channel; }
35 
36  wave fill(const event& e,
37  const int debug = 0);
38 
39  wave& setupFrames(const int debug = 0);
40 
41  std::complex<double> decayAmp(const int debug = 0);
42 
43  std::string sprint (const std::string& space = " ") const;
44  void print () const;
45  void printFrames() const;
46 
47 private:
48 
49  int _m;
50  int _epsilon;
53  std::string _channel;
54  double _b;
55  double _t;
56 
57 };
58 
59 
60 #endif