File indexing completed on 2025-08-05 08:17:27
0001 #ifndef TRIGGER_TRIGGERPRIMITIVE_H
0002 #define TRIGGER_TRIGGERPRIMITIVE_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 #include <vector>
0013
0014
0015 class TriggerPrimitive : public PHObject
0016 {
0017 public:
0018 typedef std::map<TriggerDefs::TriggerSumKey, std::vector<unsigned int>*> Map;
0019 typedef Map::const_iterator ConstIter;
0020 typedef Map::iterator Iter;
0021 typedef std::pair<Iter, Iter> Range;
0022 typedef std::pair<ConstIter, ConstIter> ConstRange;
0023
0024 TriggerPrimitive() = default;
0025 virtual ~TriggerPrimitive() override = default;
0026
0027
0028 virtual void Reset() override { return; }
0029 void identify(std::ostream& out = std::cout) const override;
0030 int isValid() const override { return 0; }
0031
0032 virtual std::vector<unsigned int>* get_sum_at_key(TriggerDefs::TriggerSumKey) { return nullptr; }
0033
0034 virtual void add_sum(TriggerDefs::TriggerSumKey , std::vector<unsigned int>* ) { return; }
0035
0036 virtual ConstRange getSums() const;
0037 virtual Range getSums();
0038
0039 virtual size_t size() { return 0; }
0040
0041 private:
0042 ClassDefOverride(TriggerPrimitive, 1);
0043 };
0044
0045 #endif