Back to home page

sPhenix code displayed by LXR

 
 

    


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   /// Clear Event from memory
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 /*triggerid*/) { return; }
0034   virtual void setDetectorId(TriggerDefs::DetectorId /*detectorid*/) { return; }
0035   virtual void setPrimitiveId(TriggerDefs::PrimitiveId /*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:  // so the ClassDef does not show up with doc++
0047   ClassDefOverride(TriggerPrimitiveContainer, 1);
0048 };
0049 
0050 #endif