AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
MatrixElement.h
Go to the documentation of this file.
1
#ifndef AMPGEN_TRANSITIONMATRIXELEMENT_H
2
#define AMPGEN_TRANSITIONMATRIXELEMENT_H
3
4
#include "
AmpGen/AmplitudeRules.h
"
5
#include "
AmpGen/CompiledExpression.h
"
6
#include "
AmpGen/Particle.h
"
7
8
namespace
AmpGen
{
9
class
MatrixElement
:
public
CompiledExpression
<void(complex_v *, const size_t *, const real_t *, const real_v *)> {
10
public
:
11
using
amp_type
=
CompiledExpression
<void(
complex_v
*,
const
size_t
*,
const
real_t
*,
const
real_v
*)>;
12
MatrixElement
() =
default
;
13
MatrixElement
(
const
Particle
&dt,
const
TotalCoupling
&
coupling
,
const
amp_type
&);
14
MatrixElement
(
const
Particle
&dt,
const
TotalCoupling
&
coupling
,
const
MinuitParameterSet
&mps,
const
std::map<std::string, unsigned> &evtFormat,
15
const
bool
&debugThis =
false
);
16
17
const
std::vector<complex_v>
operator()
(
const
Event
&event)
const
;
18
template
<
class
... arg_types>
auto
operator()
(arg_types... args)
const
{
return
amp_type::operator()(args...); }
19
void
debug
(
const
Event
&event)
const
;
20
const
std::string
decayDescriptor
()
const
{
return
decayTree
.decayDescriptor(); }
21
DebugSymbols
db
;
22
Particle
decayTree
;
23
TotalCoupling
coupling
;
24
complex_t
coefficient
;
25
bool
workToDo
= {
false
};
26
unsigned
size
= {1};
// size of the returned object
27
};
28
std::vector<size_t>
processIndex
(
const
std::vector<MatrixElement> &tm,
const
std::string &label);
29
size_t
findIndex
(
const
std::vector<MatrixElement> &tm,
const
std::string &decayDescriptor);
30
std::vector<size_t>
findIndices
(
const
std::vector<MatrixElement> &tm,
const
std::string &decayDescriptor);
31
}
32
#endif
AmplitudeRules.h
CompiledExpression.h
Particle.h
AmpGen::Event
Encapsulates the final state particles of a single event.
Definition
Event.h:19
AmpGen::MatrixElement::decayDescriptor
const std::string decayDescriptor() const
Definition
MatrixElement.h:20
AmpGen::MatrixElement::size
unsigned size
Definition
MatrixElement.h:26
AmpGen::MatrixElement::amp_type
CompiledExpression< void(complex_v *, const size_t *, const real_t *, const real_v *)> amp_type
Definition
MatrixElement.h:11
AmpGen::MatrixElement::MatrixElement
MatrixElement()=default
AmpGen::MatrixElement::db
DebugSymbols db
Definition
MatrixElement.h:21
AmpGen::MatrixElement::operator()
auto operator()(arg_types... args) const
Definition
MatrixElement.h:18
AmpGen::MatrixElement::workToDo
bool workToDo
Definition
MatrixElement.h:25
AmpGen::MatrixElement::MatrixElement
MatrixElement(const Particle &dt, const TotalCoupling &coupling, const amp_type &)
AmpGen::MatrixElement::decayTree
Particle decayTree
Definition
MatrixElement.h:22
AmpGen::MatrixElement::coupling
TotalCoupling coupling
Definition
MatrixElement.h:23
AmpGen::MatrixElement::operator()
const std::vector< complex_v > operator()(const Event &event) const
AmpGen::MatrixElement::coefficient
complex_t coefficient
Definition
MatrixElement.h:24
AmpGen::MatrixElement::MatrixElement
MatrixElement(const Particle &dt, const TotalCoupling &coupling, const MinuitParameterSet &mps, const std::map< std::string, unsigned > &evtFormat, const bool &debugThis=false)
AmpGen::MatrixElement::debug
void debug(const Event &event) const
AmpGen::MinuitParameterSet
Definition
MinuitParameterSet.h:13
AmpGen::Particle
Describes a particle, its decay process and subsequent decay products, which are also Particles.
Definition
Particle.h:103
AmpGen::TotalCoupling
Definition
AmplitudeRules.h:57
AmpGen
Definition
AddCPConjugate.h:2
AmpGen::real_t
double real_t
Definition
Types.h:6
AmpGen::findIndex
size_t findIndex(const std::vector< MatrixElement > &tm, const std::string &decayDescriptor)
AmpGen::complex_t
std::complex< real_t > complex_t
Definition
Types.h:7
AmpGen::real_v
AVX::real_v real_v
Definition
utils.h:47
AmpGen::findIndices
std::vector< size_t > findIndices(const std::vector< MatrixElement > &tm, const std::string &decayDescriptor)
AmpGen::complex_v
AVX::complex_v complex_v
Definition
utils.h:48
AmpGen::DebugSymbols
std::vector< DebugSymbol > DebugSymbols
Definition
Expression.h:111
AmpGen::processIndex
std::vector< size_t > processIndex(const std::vector< MatrixElement > &tm, const std::string &label)
AmpGen::CompiledExpression
Definition
CompiledExpression.h:38
AmpGen
MatrixElement.h
Generated on
for AmpGen by
1.17.0