sisi4s
Loading...
Searching...
No Matches
Mixer.hpp File Reference
#include <algorithms/Algorithm.hpp>
#include <math/Complex.hpp>
#include <math/FockVector.hpp>
#include <util/SharedPointer.hpp>
#include <string>
Include dependency graph for Mixer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sisi4s::Mixer< F >
 
class  sisi4s::MixerFactory< F >
 
class  sisi4s::MixerRegistrar< F, MixerType >
 Class to be statically instantiated by a mixer to register it in the MixerFactory. Registered mixers can be instantiated from the sisi4s control language. More...
 

Namespaces

namespace  sisi4s
 

Macros

#define MIXER_REGISTRAR_DECLARATION(NAME)
 Auxiliary macro declaring the mixer registrar for the mixer type of the given name. This macro is to be used in the algorith declaration within the .hpp file. Note that name is a symbol name not a string.
 
#define MIXER_REGISTRAR_DEFINITION(NAME)
 Auxiliary macro defining the mixer registrar for the mixer type of the given name. This macro is to be used in the mixer definition within the .cxx file. Note that name is a symbol name not a string.
 

Functions

template<typename F , typename MixerType >
std::shared_ptr< Mixer< F > > sisi4s::createMixer (Algorithm *algorithm)
 template function creating an instance of the given class.
 

Macro Definition Documentation

◆ MIXER_REGISTRAR_DECLARATION

#define MIXER_REGISTRAR_DECLARATION (   NAME)
Value:
virtual std::string getName() { return #NAME; } \
static MixerRegistrar<F, NAME<F>> registrar_

Auxiliary macro declaring the mixer registrar for the mixer type of the given name. This macro is to be used in the algorith declaration within the .hpp file. Note that name is a symbol name not a string.

◆ MIXER_REGISTRAR_DEFINITION

#define MIXER_REGISTRAR_DEFINITION (   NAME)
Value:
template <typename F> \
MixerRegistrar<F, NAME<F>> NAME<F>::registrar_(#NAME)

Auxiliary macro defining the mixer registrar for the mixer type of the given name. This macro is to be used in the mixer definition within the .cxx file. Note that name is a symbol name not a string.