ROOTPWA
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
pwa2000
libpp
lorentz.h
Go to the documentation of this file.
1
#ifndef __LORENTZ_H_
2
#define __LORENTZ_H_
3
4
5
#include <cmath>
6
#include <
matrix.h
>
7
8
9
class
threeVec
;
10
class
fourVec
;
11
12
13
class
rotation
:
public
matrix
<double> {
14
15
public
:
16
17
rotation
()
18
:
matrix
<double>(3, 3)
19
{ }
20
rotation
(
double
,
double
,
double
);
21
~rotation
() { }
22
23
rotation
set
(double, double, double);
24
rotation
set
(
const
threeVec
&);
25
26
friend
threeVec
operator *=
(
threeVec
&,
const
rotation
&);
27
// friend particle operator *= (particle&, const rotation&);
28
29
};
30
31
32
class
lorentzTransform
:
public
matrix
<double> {
33
34
friend
class
fourVec
;
35
36
private
:
37
38
double
_beta
;
39
double
_gamma
;
40
41
public
:
42
43
lorentzTransform
()
44
:
matrix
<double>(4, 4),
45
_beta
(0.),
46
_gamma
(1.)
47
{ }
48
lorentzTransform
(
const
matrix<double>
& m)
49
:
matrix
<double>(m),
50
_beta
(0.),
51
_gamma
(1.)
52
{ }
53
lorentzTransform
(
double
,
double
,
double
);
54
lorentzTransform
(
const
threeVec
&
beta
);
55
lorentzTransform
(
const
fourVec
&);
56
lorentzTransform
(
const
rotation
&);
57
~lorentzTransform
() { }
58
59
lorentzTransform
set
(double, double, double);
// rotation
60
lorentzTransform
set
(
const
threeVec
&
beta
);
// boost
61
lorentzTransform
set
(
const
fourVec
&);
//boost to rest frame
62
lorentzTransform
set
(
const
rotation
&);
63
64
double
beta
() {
return
_beta
;}
65
66
// lorentzTransform operator *= (const lorentzTransform&);
67
friend
fourVec
operator *=
(
fourVec
&,
const
lorentzTransform
&);
68
69
};
70
71
72
#endif
Generated by
1.8.1.2