AmpGen 2.1
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"
10
11namespace AmpGen {
13 class LambdaExpression;
14
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;
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
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:
52 };
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
CacheTransfer(const CacheTransfer &)=delete
CacheTransfer & operator=(const CacheTransfer &)=delete
virtual void print() const
size_t address() const
virtual void transfer(CompiledExpressionBase *destination)
virtual size_t size() const
CacheTransfer(const size_t &address, const std::string &name, const double &value=0, const size_t &size=1)
virtual std::string name() const
CacheTransfer(CacheTransfer &&)=delete
virtual ~CacheTransfer()=default
CacheTransfer & operator=(CacheTransfer &&)=delete
Base class for compiled expressions, i.e.
Parameter that the value of which is given by some arbitrary C++ function.
Definition Expression.h:213
void print() const override
LambdaTransfer(const size_t &address, const std::string &name, const LambdaExpression *source)
void transfer(CompiledExpressionBase *destination) override
std::function< double(void)> m_function
size_t size() const override
virtual ~ParameterTransfer()=default
void print() const override
virtual std::string name() const override
size_t size() const override
ParameterTransfer(const size_t &address, const std::string &name, MinuitProxy source)
void transfer(CompiledExpressionBase *destination) override