Public Types | |
typedef T | ValueType |
typedef T * | PointerType |
typedef link_or_not< T, is_storable_type< T >::value > ::type | link_type |
Public Member Functions | |
Feature (const TypelessFeature &feat, const T *const feature) | |
Feature (const TypelessFeature &feat, const std::shared_ptr< const T > &feature) | |
Feature (const T *feature, const HLT::TriggerElement *te, const std::string &label="", const bool own=false, const link_type link=link_type()) | |
constructor of valid Feature object | |
~Feature () | |
destructor taking care of removal | |
operator const T * () const | |
implicit conversion to object pointer | |
const T * | cptr () const |
explicit conversion to object | |
operator const HLT::TriggerElement * () const | |
implicit conversion to TriggerElement | |
const HLT::TriggerElement * | te () const |
explicit conversion to TriggerElement | |
operator const std::string () const | |
implicit conversion to feature label | |
const std::string & | label () const |
explicit conversion to feature label | |
bool | empty () const |
test method to check if the object is truly there | |
bool | owned () const |
link_type | link () const |
vehicle of object access in TDT
It is wrapped pointer to trigger object of given type (template argument).
It is also the point in the structure of navigation where certain objects is attached. This point is identified by HLT::TriggerElement and label of feature.
In C++ this class is very handy as it is convertible to HLT::TriggerElement or object through to it's conversion operators. This, in turn gives an access to the particular HLT hypothesis decision through the state of
More explicit access is also possible by cptr(), te() and label() methods. It is necessary in the python. If the access is unsuccessful for any reason i.e. actual lack of object the Feature::empty() returns true.
typedef T Trig::Feature< T >::ValueType |
$brief constructor of empty Feature