ROOTPWA
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
amplitude
productionVertex.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
// production vertex virtual base class
29
//
30
//
31
// Author List:
32
// Boris Grube TUM (original author)
33
//
34
//
35
//-------------------------------------------------------------------------
36
37
38
#ifndef PRODUCTIONVERTEX_H
39
#define PRODUCTIONVERTEX_H
40
41
42
#include <complex>
43
44
#include <boost/shared_ptr.hpp>
45
46
#include "TVector3.h"
47
48
#include "
interactionVertex.h
"
49
50
51
class
TClonesArray;
52
53
54
namespace
rpwa {
55
56
57
class
productionVertex
;
58
typedef
boost::shared_ptr<productionVertex>
productionVertexPtr
;
59
60
61
class
productionVertex
:
public
interactionVertex
{
62
63
public
:
64
65
productionVertex
();
66
virtual
~productionVertex
();
67
68
// production specific accessors
69
virtual
const
TLorentzVector&
referenceLzVec
()
const
= 0;
70
virtual
const
particlePtr
&
XParticle
()
const
= 0;
71
72
virtual
std::complex<double>
productionAmp
()
const
{
return
1; }
73
74
virtual
void
setXFlavorQN
() = 0;
75
76
virtual
bool
initKinematicsData
(
const
TClonesArray& names) = 0;
77
virtual
bool
readKinematicsData
(
const
TClonesArray& momenta) = 0;
78
79
virtual
bool
revertMomenta
() = 0;
80
81
virtual
std::string
name
()
const
{
return
"productionVertex"
; }
82
83
static
bool
debug
() {
return
_debug
; }
84
static
void
setDebug
(
const
bool
debug
=
true
) {
_debug
=
debug
; }
85
86
87
private
:
88
89
static
bool
_debug
;
90
91
};
92
93
94
}
// namespace rpwa
95
96
97
#endif // PRODUCTIONVERTEX_H
Generated by
1.8.1.2