Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:27

0001 #ifndef TRIGGER_TRIGGERPRIMITIVEV1_H__
0002 #define TRIGGER_TRIGGERPRIMITIVEV1_H__
0003 
0004 #include "TriggerDefs.h"
0005 #include "TriggerPrimitive.h"
0006 
0007 #include <cstddef>
0008 #include <iostream>
0009 #include <vector>
0010 
0011 ///
0012 class TriggerPrimitivev1 : public TriggerPrimitive
0013 {
0014  public:
0015   TriggerPrimitivev1() = default;
0016   TriggerPrimitivev1(TriggerDefs::TriggerPrimKey key);
0017   virtual ~TriggerPrimitivev1() override = default;
0018 
0019   /// Clear Event from memory
0020   void Reset() override;
0021   void identify(std::ostream& out = std::cout) const override;
0022   int isValid() const override;
0023 
0024   std::vector<unsigned int>* get_sum_at_key(TriggerDefs::TriggerSumKey) override;
0025 
0026   void add_sum(TriggerDefs::TriggerSumKey key, std::vector<unsigned int>* sum) override;
0027 
0028   ConstRange getSums() const override;
0029   Range getSums() override;
0030 
0031   size_t size() override { return _sums.size(); }
0032 
0033  private:
0034   TriggerDefs::TriggerPrimKey m_triggerprimkey = TriggerDefs::TRIGGERPRIMKEYMAX;
0035   Map _sums{};
0036 
0037  private:  // so the ClassDef does not show up with doc++
0038   ClassDefOverride(TriggerPrimitivev1, 1);
0039 };
0040 
0041 #endif