File indexing completed on 2025-08-05 08:17:27
0001 #ifndef TRIGGER_TRIGGERPRIMITIVECONTAINERV1_H
0002 #define TRIGGER_TRIGGERPRIMITIVECONTAINERV1_H
0003
0004 #include "TriggerPrimitiveContainer.h"
0005
0006 #include "TriggerDefs.h"
0007
0008 #include <iostream>
0009 #include <map>
0010 #include <utility>
0011
0012 class TriggerPrimitive;
0013
0014
0015
0016 class TriggerPrimitiveContainerv1 : public TriggerPrimitiveContainer
0017 {
0018 public:
0019 typedef std::map<TriggerDefs::TriggerPrimKey, TriggerPrimitive*> Map;
0020 typedef Map::const_iterator ConstIter;
0021 typedef Map::iterator Iter;
0022 typedef std::pair<Iter, Iter> Range;
0023 typedef std::pair<ConstIter, ConstIter> ConstRange;
0024
0025
0026 TriggerPrimitiveContainerv1() = default;
0027
0028 TriggerPrimitiveContainerv1(TriggerDefs::TriggerId tid, TriggerDefs::DetectorId did);
0029
0030 ~TriggerPrimitiveContainerv1() override = default;
0031
0032
0033 void Reset() override;
0034 void identify(std::ostream& out = std::cout) const override;
0035 int isValid() const override;
0036
0037 void setTriggerId(TriggerDefs::TriggerId triggerid) override { m_triggerid = triggerid; };
0038 void setDetectorId(TriggerDefs::DetectorId detectorid) override { m_detectorid = detectorid; };
0039 void setPrimitiveId(TriggerDefs::PrimitiveId primitiveid) override { m_primitiveid = primitiveid; };
0040
0041 TriggerPrimitive* get_primitive_at_key(TriggerDefs::TriggerPrimKey ) override;
0042
0043 void add_primitive(TriggerDefs::TriggerPrimKey, TriggerPrimitive*) override;
0044 TriggerDefs::TriggerId getTriggerId() { return m_triggerid; }
0045 TriggerDefs::DetectorId getDetectorId() { return m_detectorid; }
0046 TriggerDefs::PrimitiveId getPrimitiveId() { return m_primitiveid; }
0047
0048 ConstRange getTriggerPrimitives() const override;
0049 Range getTriggerPrimitives() override;
0050
0051 size_t size() override { return _primitives.size(); }
0052
0053 private:
0054 TriggerDefs::TriggerId m_triggerid = TriggerDefs::TriggerId::noneTId;
0055 TriggerDefs::DetectorId m_detectorid = TriggerDefs::DetectorId::noneDId;
0056 TriggerDefs::PrimitiveId m_primitiveid = TriggerDefs::PrimitiveId::nonePId;
0057
0058 Map _primitives{};
0059
0060 ClassDefOverride(TriggerPrimitiveContainerv1, 1);
0061 };
0062
0063 #endif