AmpGen 2.1
Loading...
Searching...
No Matches
AmpGen::CompiledExpressionBase Class Referenceabstract

Detailed Description

expressions that are (almost) ready to be evaluated. Handles (some) resolution and compilation behaviour, allows management of CompiledExpressions without explicitly referring to their return type, which is specified by template parameter in the implementation CompiledExpression

Definition at line 30 of file CompiledExpressionBase.h.

Public Member Functions

 CompiledExpressionBase ()
 CompiledExpressionBase (const std::string &name)
 CompiledExpressionBase (const Expression &expression, const std::string &name, const DebugSymbols &db=DebugSymbols(), const std::map< std::string, unsigned > &evtMapping={})
void resolve (const MinuitParameterSet *mps=nullptr)
void prepare ()
void compile (const std::string &fname="")
void compileBatch (std::ostream &stream) const
void compileDetails (std::ostream &stream) const
void compileWithParameters (std::ostream &stream) const
void to_stream (std::ostream &stream) const
unsigned int hash () const
std::string name () const
std::string progName () const
std::string fcnSignature () const
std::string fcnSignature (const std::vector< std::string > &argList) const
virtual bool link (void *)=0
virtual bool link (const std::string &)=0
virtual void setExternal (const double &, const unsigned &)=0
virtual void resizeExternalCache (const size_t &)=0
virtual bool isReady () const =0
virtual std::string returnTypename () const =0
virtual void print () const =0
virtual ~CompiledExpressionBase ()
virtual unsigned returnTypeSize () const =0
virtual std::vector< std::string > types () const =0
virtual std::vector< real_texternBuffer () const =0
virtual bool use_rto () const =0
Expression expression () const
virtual std::string arg_type (const unsigned &counter) const =0
std::vector< const CacheTransfer * > orderedCacheFunctors () const

Protected Attributes

Expression m_obj
std::string m_name
std::string m_progName
DebugSymbols m_db
std::map< std::string, unsigned > m_evtMap
std::vector< std::pair< uint64_t, Expression > > m_dependentSubexpressions
std::vector< std::pair< uint64_t, Expression > > m_debugSubexpressions
std::vector< std::shared_ptr< CacheTransfer > > m_cacheTransfers
std::shared_ptr< ASTResolverm_resolver = {nullptr}
std::vector< std::string > m_additionalHeaders
bool m_disableBatch = {false}
bool m_includeParameters = {false}
bool m_includePythonBindings = {false}
Inheritance diagram for AmpGen::CompiledExpressionBase:
AmpGen::CompiledExpression< ret_type(arg_types...)>

Constructor & Destructor Documentation

◆ CompiledExpressionBase() [1/3]

AmpGen::CompiledExpressionBase::CompiledExpressionBase ( )

◆ CompiledExpressionBase() [2/3]

AmpGen::CompiledExpressionBase::CompiledExpressionBase ( const std::string & name)

◆ CompiledExpressionBase() [3/3]

AmpGen::CompiledExpressionBase::CompiledExpressionBase ( const Expression & expression,
const std::string & name,
const DebugSymbols & db = DebugSymbols(),
const std::map< std::string, unsigned > & evtMapping = {} )

◆ ~CompiledExpressionBase()

virtual AmpGen::CompiledExpressionBase::~CompiledExpressionBase ( )
virtual

Member Function Documentation

◆ arg_type()

virtual std::string AmpGen::CompiledExpressionBase::arg_type ( const unsigned & counter) const
pure virtual

◆ compile()

void AmpGen::CompiledExpressionBase::compile ( const std::string & fname = "")

◆ compileBatch()

void AmpGen::CompiledExpressionBase::compileBatch ( std::ostream & stream) const

◆ compileDetails()

void AmpGen::CompiledExpressionBase::compileDetails ( std::ostream & stream) const

◆ compileWithParameters()

void AmpGen::CompiledExpressionBase::compileWithParameters ( std::ostream & stream) const

◆ expression()

Expression AmpGen::CompiledExpressionBase::expression ( ) const
inline

Definition at line 62 of file CompiledExpressionBase.h.

◆ externBuffer()

virtual std::vector< real_t > AmpGen::CompiledExpressionBase::externBuffer ( ) const
pure virtual

◆ fcnSignature() [1/2]

std::string AmpGen::CompiledExpressionBase::fcnSignature ( ) const
inline

Definition at line 47 of file CompiledExpressionBase.h.

◆ fcnSignature() [2/2]

std::string AmpGen::CompiledExpressionBase::fcnSignature ( const std::vector< std::string > & argList) const

◆ hash()

unsigned int AmpGen::CompiledExpressionBase::hash ( ) const

◆ isReady()

virtual bool AmpGen::CompiledExpressionBase::isReady ( ) const
pure virtual

◆ link() [1/2]

virtual bool AmpGen::CompiledExpressionBase::link ( const std::string & )
pure virtual

◆ link() [2/2]

virtual bool AmpGen::CompiledExpressionBase::link ( void * )
pure virtual

◆ name()

std::string AmpGen::CompiledExpressionBase::name ( ) const

◆ orderedCacheFunctors()

std::vector< const CacheTransfer * > AmpGen::CompiledExpressionBase::orderedCacheFunctors ( ) const

◆ prepare()

void AmpGen::CompiledExpressionBase::prepare ( )

◆ print()

virtual void AmpGen::CompiledExpressionBase::print ( ) const
pure virtual

◆ progName()

std::string AmpGen::CompiledExpressionBase::progName ( ) const

◆ resizeExternalCache()

virtual void AmpGen::CompiledExpressionBase::resizeExternalCache ( const size_t & )
pure virtual

◆ resolve()

void AmpGen::CompiledExpressionBase::resolve ( const MinuitParameterSet * mps = nullptr)

◆ returnTypename()

virtual std::string AmpGen::CompiledExpressionBase::returnTypename ( ) const
pure virtual

◆ returnTypeSize()

virtual unsigned AmpGen::CompiledExpressionBase::returnTypeSize ( ) const
pure virtual

◆ setExternal()

virtual void AmpGen::CompiledExpressionBase::setExternal ( const double & ,
const unsigned &  )
pure virtual

◆ to_stream()

void AmpGen::CompiledExpressionBase::to_stream ( std::ostream & stream) const

◆ types()

virtual std::vector< std::string > AmpGen::CompiledExpressionBase::types ( ) const
pure virtual

◆ use_rto()

virtual bool AmpGen::CompiledExpressionBase::use_rto ( ) const
pure virtual

Member Data Documentation

◆ m_additionalHeaders

std::vector<std::string> AmpGen::CompiledExpressionBase::m_additionalHeaders
protected

Definition at line 76 of file CompiledExpressionBase.h.

◆ m_cacheTransfers

std::vector<std::shared_ptr<CacheTransfer> > AmpGen::CompiledExpressionBase::m_cacheTransfers
protected

Definition at line 74 of file CompiledExpressionBase.h.

◆ m_db

DebugSymbols AmpGen::CompiledExpressionBase::m_db
protected

Definition at line 70 of file CompiledExpressionBase.h.

◆ m_debugSubexpressions

std::vector<std::pair<uint64_t, Expression> > AmpGen::CompiledExpressionBase::m_debugSubexpressions
protected

Definition at line 73 of file CompiledExpressionBase.h.

◆ m_dependentSubexpressions

std::vector<std::pair<uint64_t, Expression> > AmpGen::CompiledExpressionBase::m_dependentSubexpressions
protected

Definition at line 72 of file CompiledExpressionBase.h.

◆ m_disableBatch

bool AmpGen::CompiledExpressionBase::m_disableBatch = {false}
protected

Definition at line 77 of file CompiledExpressionBase.h.

◆ m_evtMap

std::map<std::string, unsigned> AmpGen::CompiledExpressionBase::m_evtMap
protected

Definition at line 71 of file CompiledExpressionBase.h.

◆ m_includeParameters

bool AmpGen::CompiledExpressionBase::m_includeParameters = {false}
protected

Definition at line 78 of file CompiledExpressionBase.h.

◆ m_includePythonBindings

bool AmpGen::CompiledExpressionBase::m_includePythonBindings = {false}
protected

Definition at line 79 of file CompiledExpressionBase.h.

◆ m_name

std::string AmpGen::CompiledExpressionBase::m_name
protected

Definition at line 68 of file CompiledExpressionBase.h.

◆ m_obj

Expression AmpGen::CompiledExpressionBase::m_obj
protected

Definition at line 67 of file CompiledExpressionBase.h.

◆ m_progName

std::string AmpGen::CompiledExpressionBase::m_progName
protected

Definition at line 69 of file CompiledExpressionBase.h.

◆ m_resolver

std::shared_ptr<ASTResolver> AmpGen::CompiledExpressionBase::m_resolver = {nullptr}
protected

Definition at line 75 of file CompiledExpressionBase.h.


The documentation for this class was generated from the following file: