ROOTPWA
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
amplitude
isobarHelicityAmplitude.h
Go to the documentation of this file.
1
2
//
3
// Copyright 2010
4
//
5
// This file is part of rootpwa
6
//
7
// rootpwa is free software: you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation, either version 3 of the License, or
10
// (at your option) any later version.
11
//
12
// rootpwa is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with rootpwa. If not, see <http://www.gnu.org/licenses/>.
19
//
21
//-------------------------------------------------------------------------
22
// File and Version Information:
23
// $Rev:: $: revision of last commit
24
// $Author:: $: author of last commit
25
// $Date:: $: date of last commit
26
//
27
// Description:
28
// general isobar decay amplitude in helicity formalism
29
//
30
//
31
// Author List:
32
// Boris Grube TUM (original author)
33
//
34
//
35
//-------------------------------------------------------------------------
36
37
38
#ifndef ISOBARHELICITYAMPLITUDE_H
39
#define ISOBARHELICITYAMPLITUDE_H
40
41
#include "
isobarAmplitude.h
"
42
43
44
namespace
rpwa {
45
46
47
class
isobarHelicityAmplitude
;
48
typedef
boost::shared_ptr<isobarHelicityAmplitude>
isobarHelicityAmplitudePtr
;
49
50
51
class
isobarHelicityAmplitude
:
public
isobarAmplitude
{
52
53
public
:
54
55
isobarHelicityAmplitude
();
56
isobarHelicityAmplitude
(
const
isobarDecayTopologyPtr
&
decay
);
57
virtual
~isobarHelicityAmplitude
();
58
59
static
TLorentzRotation
hfTransform
(
const
TLorentzVector& daughterLv);
60
61
std::string
name
()
const
{
return
"isobarHelicityAmplitude"
; }
62
63
static
bool
debug
() {
return
_debug
; }
64
static
void
setDebug
(
const
bool
debug
=
true
) {
_debug
=
debug
; }
65
66
67
private
:
68
69
void
transformDaughters
()
const
;
70
71
std::complex<double>
twoBodyDecayAmplitude
72
(
const
isobarDecayVertexPtr
& vertex,
73
const
bool
topVertex)
const
;
74
75
static
bool
_debug
;
76
77
};
78
79
80
inline
81
isobarHelicityAmplitudePtr
82
createIsobarHelicityAmplitude
(
const
isobarDecayTopologyPtr
&
decay
)
83
{
84
isobarHelicityAmplitudePtr
amp(
new
isobarHelicityAmplitude
(decay));
85
return
amp;
86
}
87
88
89
}
// namespace rpwa
90
91
92
#endif // ISOBARHELICITYAMPLITUDE_H
Generated by
1.8.1.2