File indexing completed on 2025-08-05 08:17:27
0001 #ifndef TRIGGER_TRIGGERPRIMITIVECONTAINER_H
0002 #define TRIGGER_TRIGGERPRIMITIVECONTAINER_H
0003
0004 #include "TriggerDefs.h"
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <cstddef>
0009 #include <iostream>
0010 #include <map>
0011 #include <utility>
0012
0013 class TriggerPrimitive;
0014
0015
0016 class TriggerPrimitiveContainer : public PHObject
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 TriggerPrimitiveContainer() = default;
0026 virtual ~TriggerPrimitiveContainer() override = default;
0027
0028
0029 virtual void Reset() override { return; };
0030 void identify(std::ostream& out = std::cout) const override;
0031 int isValid() const override { return 1; }
0032
0033 virtual void setTriggerId(TriggerDefs::TriggerId ) { return; }
0034 virtual void setDetectorId(TriggerDefs::DetectorId ) { return; }
0035 virtual void setPrimitiveId(TriggerDefs::PrimitiveId ) { return; }
0036
0037 virtual TriggerPrimitive* get_primitive_at_key(TriggerDefs::TriggerPrimKey) { return nullptr; }
0038
0039 virtual void add_primitive(TriggerDefs::TriggerPrimKey, TriggerPrimitive*) { return; }
0040
0041 virtual size_t size() { return 0; }
0042
0043 virtual ConstRange getTriggerPrimitives() const;
0044 virtual Range getTriggerPrimitives();
0045
0046 private:
0047 ClassDefOverride(TriggerPrimitiveContainer, 1);
0048 };
0049
0050 #endif