AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
CacheTransfer.h
Go to the documentation of this file.
1
#ifndef AMPGEN_CACHETRANSFER_H
2
#define AMPGEN_CACHETRANSFER_H
3
4
#include <vector>
5
#include <cstddef>
6
#include <string>
7
#include <functional>
8
#include "
AmpGen/MsgService.h
"
9
#include "
AmpGen/MinuitParameter.h
"
10
11
namespace
AmpGen
{
12
class
CompiledExpressionBase
;
13
class
LambdaExpression
;
14
15
class
CacheTransfer
{
16
public
:
17
CacheTransfer
(
const
size_t
&
address
,
const
std::string &
name
,
const
double
&value = 0,
const
size_t
&
size
= 1);
18
virtual
~CacheTransfer
() =
default
;
19
20
size_t
address
()
const
{
return
m_address
; }
21
22
virtual
void
transfer
(
CompiledExpressionBase
*destination);
23
virtual
void
print
()
const
;
24
virtual
size_t
size
()
const
{
return
m_size
; }
25
virtual
std::string
name
()
const
{
return
m_name
; }
26
27
CacheTransfer
(
const
CacheTransfer
&) =
delete
;
28
CacheTransfer
&
operator=
(
const
CacheTransfer
&) =
delete
;
29
CacheTransfer
&
operator=
(
CacheTransfer
&&) =
delete
;
30
CacheTransfer
(
CacheTransfer
&&) =
delete
;
31
32
protected
:
33
size_t
m_address
= {0};
34
size_t
m_size
= {0};
35
double
m_value
= {0};
36
std::string
m_name
= {
""
};
37
};
38
39
class
ParameterTransfer
:
public
CacheTransfer
{
40
public
:
41
ParameterTransfer
(
const
size_t
&
address
,
const
std::string &
name
,
MinuitProxy
source);
42
virtual
~ParameterTransfer
() =
default
;
43
44
size_t
size
()
const override
{
return
1; }
45
46
void
transfer
(
CompiledExpressionBase
*destination)
override
;
47
void
print
()
const override
;
48
virtual
std::string
name
()
const override
;
49
50
protected
:
51
MinuitProxy
m_source
;
52
};
53
class
LambdaTransfer
:
public
CacheTransfer
{
54
public
:
55
LambdaTransfer
(
const
size_t
&
address
,
const
std::string &
name
,
const
LambdaExpression
*source);
56
57
size_t
size
()
const override
{
return
1; }
58
59
void
transfer
(
CompiledExpressionBase
*destination)
override
;
60
void
print
()
const override
;
61
62
std::function<double(
void
)>
m_function
;
63
};
64
65
}
// namespace AmpGen
66
67
#endif
MinuitParameter.h
MsgService.h
AmpGen::CacheTransfer::CacheTransfer
CacheTransfer(const CacheTransfer &)=delete
AmpGen::CacheTransfer::operator=
CacheTransfer & operator=(const CacheTransfer &)=delete
AmpGen::CacheTransfer::m_value
double m_value
Definition
CacheTransfer.h:35
AmpGen::CacheTransfer::m_size
size_t m_size
Definition
CacheTransfer.h:34
AmpGen::CacheTransfer::print
virtual void print() const
AmpGen::CacheTransfer::address
size_t address() const
Definition
CacheTransfer.h:20
AmpGen::CacheTransfer::transfer
virtual void transfer(CompiledExpressionBase *destination)
AmpGen::CacheTransfer::size
virtual size_t size() const
Definition
CacheTransfer.h:24
AmpGen::CacheTransfer::CacheTransfer
CacheTransfer(const size_t &address, const std::string &name, const double &value=0, const size_t &size=1)
AmpGen::CacheTransfer::name
virtual std::string name() const
Definition
CacheTransfer.h:25
AmpGen::CacheTransfer::CacheTransfer
CacheTransfer(CacheTransfer &&)=delete
AmpGen::CacheTransfer::m_address
size_t m_address
Definition
CacheTransfer.h:33
AmpGen::CacheTransfer::m_name
std::string m_name
Definition
CacheTransfer.h:36
AmpGen::CacheTransfer::~CacheTransfer
virtual ~CacheTransfer()=default
AmpGen::CacheTransfer::operator=
CacheTransfer & operator=(CacheTransfer &&)=delete
AmpGen::CompiledExpressionBase
Base class for compiled expressions, i.e.
Definition
CompiledExpressionBase.h:30
AmpGen::LambdaExpression
Parameter that the value of which is given by some arbitrary C++ function.
Definition
Expression.h:213
AmpGen::LambdaTransfer::print
void print() const override
AmpGen::LambdaTransfer::LambdaTransfer
LambdaTransfer(const size_t &address, const std::string &name, const LambdaExpression *source)
AmpGen::LambdaTransfer::transfer
void transfer(CompiledExpressionBase *destination) override
AmpGen::LambdaTransfer::m_function
std::function< double(void)> m_function
Definition
CacheTransfer.h:62
AmpGen::LambdaTransfer::size
size_t size() const override
Definition
CacheTransfer.h:57
AmpGen::MinuitProxy
Definition
MinuitParameter.h:83
AmpGen::ParameterTransfer::~ParameterTransfer
virtual ~ParameterTransfer()=default
AmpGen::ParameterTransfer::m_source
MinuitProxy m_source
Definition
CacheTransfer.h:51
AmpGen::ParameterTransfer::print
void print() const override
AmpGen::ParameterTransfer::name
virtual std::string name() const override
AmpGen::ParameterTransfer::size
size_t size() const override
Definition
CacheTransfer.h:44
AmpGen::ParameterTransfer::ParameterTransfer
ParameterTransfer(const size_t &address, const std::string &name, MinuitProxy source)
AmpGen::ParameterTransfer::transfer
void transfer(CompiledExpressionBase *destination) override
AmpGen
Definition
AddCPConjugate.h:2
AmpGen
CacheTransfer.h
Generated on
for AmpGen by
1.17.0