ROOTPWA
TPWAPhaseConstraint.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // File and Version Information:
3 // $Id$
4 //
5 // Description:
6 // Contraints an amplitude to a defined phase difference
7 // with respect to another "master" amplitude
8 //
9 //
10 // Environment:
11 // rootpwa
12 //
13 // Author List:
14 // Sebastian Neubert TUM (original author)
15 //
16 //
17 //-----------------------------------------------------------
18 
19 #ifndef TPWAPHASECONSTRAINT_HH
20 #define TPWAPHASECONSTRAINT_HH
21 
22 // Base Class Headers ----------------
23 #include "TPWAConstraint.h"
24 
25 // Collaborating Class Headers -------
26 #include <complex>
27 #include "TPWAAmp.h"
28 
29 // Collaborating Class Declarations --
30 class TPWAAmp;
31 
32 
34 public:
35 
36  // Constructors/Destructors ---------
37  // Make sure master is on the heap!!!
38  TPWAPhaseConstraint(double phase, TPWAAmp* master);
40 
41  virtual TPWAConstraint* clone(){return new TPWAPhaseConstraint(*this);}
42 
43  // Accessors -----------------------
44  virtual int npar() const {return 1;} // returns number of free parameters 0,1 or even 2
45  virtual std::string type() const {return "PhaseConstraint";}
46  virtual std::string parname(unsigned int i) const {return "_ABS";}
47 
48 
49  // Operations ----------------------
50  virtual std::complex<double> cAmp(const std::complex<double>& amp);
51  virtual std::complex<double> dampdpar(unsigned int i);
52 private:
53  double _phi;
55 
56 
57 };
58 
59 #endif
60 
61 //--------------------------------------------------------------
62 // $Log$
63 //--------------------------------------------------------------