AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
Transform.h
Go to the documentation of this file.
1
#ifndef AMPGEN_TRANSFORM_H
2
#define AMPGEN_TRANSFORM_H
3
4
#include "
AmpGen/Expression.h
"
5
#include "
AmpGen/Tensor.h
"
6
#include "
AmpGen/DiracMatrices.h
"
7
8
namespace
AmpGen
{
9
Expression
cosh
(
const
Expression
&x);
10
Expression
sinh
(
const
Expression
&x);
11
Expression
tanh
(
const
Expression
&x);
12
13
Expression
acosh
(
const
Expression
&x);
14
Expression
asinh
(
const
Expression
&x);
15
Expression
atanh
(
const
Expression
&x);
16
17
class
Transform
{
18
public
:
19
enum
Type
{
Boost
,
Rotate
};
20
enum
Representation
{
Spinor
,
Bispinor
,
Vector
};
21
22
Transform
(
const
Expression
&arg,
const
Tensor
&k,
const
Type
&type);
23
Transform
inverse
()
const
;
24
Tensor
operator()
(
const
Representation
&repr)
const
;
25
Tensor
operator()
(
const
Tensor
&tensor,
const
Representation
&repr =
Representation::Vector
)
const
;
26
27
private
:
28
Tensor
sigma_dot_p(
const
Tensor
&p)
const
;
29
Tensor
J_dot_p(
const
Tensor
&p)
const
;
30
Tensor
K_dot_p(
const
Tensor
&p)
const
;
31
Tensor
make_bispinor_operator(
const
Tensor
&A,
const
Tensor
&B,
const
Tensor
&C,
const
Tensor
&D)
const
;
32
Tensor
rotate_spinor()
const
;
33
Tensor
boost_spinor()
const
;
34
35
Expression
m_arg;
36
Tensor
m_k;
37
Type
m_type;
38
};
39
40
class
TransformSequence
{
41
public
:
42
TransformSequence
();
43
TransformSequence
(
const
Transform
&transform);
44
TransformSequence
(
const
TransformSequence
&t1,
const
TransformSequence
&t2);
45
TransformSequence
(
const
Transform
&t1,
const
Transform
&t2);
46
TransformSequence
inverse
()
const
;
47
Tensor
operator()
(
const
Transform::Representation
&repr)
const
;
48
Tensor
operator()
(
const
Tensor
&tensor,
const
Transform::Representation
&repr =
Transform::Representation::Vector
)
const
;
49
void
push_back
(
const
Transform
&transform);
50
void
push_back
(
const
TransformSequence
&transform);
51
void
stepThrough
(
const
Tensor
&tensor,
const
Transform::Representation
&repr =
Transform::Representation::Vector
);
52
53
void
clear
();
54
std::vector<Transform>::reverse_iterator
rbegin
() {
return
m_transforms.rbegin(); }
55
std::vector<Transform>::reverse_iterator
rend
() {
return
m_transforms.rend(); }
56
std::vector<Transform>::const_iterator
begin
()
const
{
return
m_transforms.cbegin(); }
57
std::vector<Transform>::const_iterator
end
()
const
{
return
m_transforms.cend(); }
58
std::vector<Transform>::iterator
begin
() {
return
m_transforms.begin(); }
59
std::vector<Transform>::iterator
end
() {
return
m_transforms.end(); }
60
unsigned
size
()
const
{
return
m_transforms.size(); }
61
62
private
:
63
void
buildCache();
64
std::vector<Transform> m_transforms;
65
std::array<Tensor, 3> m_cache;
66
};
67
68
}
69
70
#endif
DiracMatrices.h
Expression.h
Tensor.h
AmpGen::Expression
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition
Expression.h:135
AmpGen::Tensor
Definition
Tensor.h:29
AmpGen::Transform
Definition
Transform.h:17
AmpGen::Transform::Representation
Representation
Definition
Transform.h:20
AmpGen::Transform::Spinor
@ Spinor
Definition
Transform.h:20
AmpGen::Transform::Vector
@ Vector
Definition
Transform.h:20
AmpGen::Transform::Bispinor
@ Bispinor
Definition
Transform.h:20
AmpGen::Transform::operator()
Tensor operator()(const Representation &repr) const
AmpGen::Transform::Type
Type
Definition
Transform.h:19
AmpGen::Transform::Rotate
@ Rotate
Definition
Transform.h:19
AmpGen::Transform::Boost
@ Boost
Definition
Transform.h:19
AmpGen::Transform::operator()
Tensor operator()(const Tensor &tensor, const Representation &repr=Representation::Vector) const
AmpGen::Transform::Transform
Transform(const Expression &arg, const Tensor &k, const Type &type)
AmpGen::Transform::inverse
Transform inverse() const
AmpGen::TransformSequence::inverse
TransformSequence inverse() const
AmpGen::TransformSequence::begin
std::vector< Transform >::const_iterator begin() const
Definition
Transform.h:56
AmpGen::TransformSequence::begin
std::vector< Transform >::iterator begin()
Definition
Transform.h:58
AmpGen::TransformSequence::end
std::vector< Transform >::iterator end()
Definition
Transform.h:59
AmpGen::TransformSequence::operator()
Tensor operator()(const Tensor &tensor, const Transform::Representation &repr=Transform::Representation::Vector) const
AmpGen::TransformSequence::TransformSequence
TransformSequence(const Transform &transform)
AmpGen::TransformSequence::end
std::vector< Transform >::const_iterator end() const
Definition
Transform.h:57
AmpGen::TransformSequence::TransformSequence
TransformSequence(const TransformSequence &t1, const TransformSequence &t2)
AmpGen::TransformSequence::TransformSequence
TransformSequence()
AmpGen::TransformSequence::rbegin
std::vector< Transform >::reverse_iterator rbegin()
Definition
Transform.h:54
AmpGen::TransformSequence::push_back
void push_back(const TransformSequence &transform)
AmpGen::TransformSequence::TransformSequence
TransformSequence(const Transform &t1, const Transform &t2)
AmpGen::TransformSequence::rend
std::vector< Transform >::reverse_iterator rend()
Definition
Transform.h:55
AmpGen::TransformSequence::push_back
void push_back(const Transform &transform)
AmpGen::TransformSequence::stepThrough
void stepThrough(const Tensor &tensor, const Transform::Representation &repr=Transform::Representation::Vector)
AmpGen::TransformSequence::size
unsigned size() const
Definition
Transform.h:60
AmpGen::TransformSequence::clear
void clear()
AmpGen::TransformSequence::operator()
Tensor operator()(const Transform::Representation &repr) const
AmpGen
Definition
AddCPConjugate.h:2
AmpGen::atanh
Expression atanh(const Expression &x)
AmpGen::acosh
Expression acosh(const Expression &x)
AmpGen::asinh
Expression asinh(const Expression &x)
AmpGen::sinh
Expression sinh(const Expression &x)
AmpGen::tanh
Expression tanh(const Expression &x)
AmpGen::cosh
Expression cosh(const Expression &x)
AmpGen
Transform.h
Generated on
for AmpGen by
1.17.0