38 return m_cgm->navigation();
45 const void* obj_a,
const void* obj_b)
const {
51 if (
a==b && obj_a==obj_b) {
55 if(
a==b && obj_a!=obj_b) {
65 if ( a_features.size() != b_features.size() )
66 return a_features.size() < b_features.size();
68 for (
unsigned f = 0,
sz = a_features.size(); f <
sz; ++f ) {
84 if (
a.accessHelper().getCLID() == b.accessHelper().getCLID()) {
85 return a.accessHelper().getIndex() < b.accessHelper().getIndex();
87 return a.accessHelper().getCLID() < b.accessHelper().getCLID();
94 throw std::runtime_error(
"Only two flags can be supplied to features");
97 std::set<Trig::TypelessFeature,::order_by_clid_and_index> uniqnessHelper;
100 if (!comb.active())
continue;
103 std::vector<Trig::TypelessFeature> features = comb.typelessGet(clid,
label, condition, teName);
104 for(
auto& f : features) {
105 uniqnessHelper.insert(f);
108 return std::vector<Trig::TypelessFeature>(uniqnessHelper.begin(), uniqnessHelper.end());
the FeatureAccessHelper is a class used to keep track of features attached to this TE.
const ObjectIndex & getIndex() const
index in the external ojects array
class_id_type getCLID() const
Class ID of object.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
std::vector< FeatureAccessHelper > FeatureVec
is a connector between chains and object It store single combination of trigger elements.
bool weakOrder(const HLT::TriggerElement *te_a, const HLT::TriggerElement *te_b, const void *obj_a, const void *obj_b) const
std::vector< Trig::Combination > m_combinations
container preserving insertion order
void append(const FeatureContainer &other)
const std::vector< Trig::TypelessFeature > typelessGet(HLT::class_id_type clid, const std::string &label="", unsigned int condition=TrigDefs::Physics, const std::string &teName="") const
typeless version of get
FeatureContainer(const CacheGlobalMemory *cgm=0)
constructors, destructor
std::unordered_set< Trig::Combination > m_combinations_unique
set for ensuring uniqueness in the above container
const Trig::CacheGlobalMemory * m_cgm
const HLT::TrigNavStructure * navigation() const
void addWithChecking(const Combination &newComb)
add new combination to the container checking for overlap
Feature class, holding information on Feature attached to navigation.
bool operator()(const Trig::TypelessFeature &a, const Trig::TypelessFeature &b) const
std::string label(const std::string &format, int i)
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
static const unsigned int Physics
static const unsigned int alsoDeactivateTEs