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 31 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 66 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 51 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 79 of file CompiledExpressionBase.h.

◆ m_cacheTransfers

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

Definition at line 77 of file CompiledExpressionBase.h.

◆ m_db

DebugSymbols AmpGen::CompiledExpressionBase::m_db
protected

Definition at line 73 of file CompiledExpressionBase.h.

◆ m_debugSubexpressions

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

Definition at line 76 of file CompiledExpressionBase.h.

◆ m_dependentSubexpressions

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

Definition at line 75 of file CompiledExpressionBase.h.

◆ m_disableBatch

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

Definition at line 80 of file CompiledExpressionBase.h.

◆ m_evtMap

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

Definition at line 74 of file CompiledExpressionBase.h.

◆ m_includeParameters

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

Definition at line 81 of file CompiledExpressionBase.h.

◆ m_includePythonBindings

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

Definition at line 82 of file CompiledExpressionBase.h.

◆ m_name

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

Definition at line 71 of file CompiledExpressionBase.h.

◆ m_obj

Expression AmpGen::CompiledExpressionBase::m_obj
protected

Definition at line 70 of file CompiledExpressionBase.h.

◆ m_progName

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

Definition at line 72 of file CompiledExpressionBase.h.

◆ m_resolver

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

Definition at line 78 of file CompiledExpressionBase.h.


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