ROOTPWA
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
src
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
33
class
TPWAPhaseConstraint
:
public
TPWAConstraint
{
34
public
:
35
36
// Constructors/Destructors ---------
37
// Make sure master is on the heap!!!
38
TPWAPhaseConstraint
(
double
phase,
TPWAAmp
* master);
39
virtual
~TPWAPhaseConstraint
(){}
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
;
54
TPWAAmp
*
_master
;
55
56
57
};
58
59
#endif
60
61
//--------------------------------------------------------------
62
// $Log$
63
//--------------------------------------------------------------
Generated by
1.8.1.2