File indexing completed on 2025-08-05 08:17:26
0001 #ifndef TRIGGER_LL1OUT_H__
0002 #define TRIGGER_LL1OUT_H__
0003
0004 #include "TriggerDefs.h"
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <iostream>
0009 #include <map>
0010 #include <string>
0011 #include <utility>
0012 #include <vector>
0013
0014
0015 class LL1Out : public PHObject
0016 {
0017 public:
0018 typedef std::map<unsigned int, 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
0025 LL1Out() = default;
0026
0027 virtual ~LL1Out() override = default;
0028
0029 virtual void Reset() override { return; }
0030
0031 void identify(std::ostream& os = std::cout) const override;
0032 int isValid() const override { return 1; }
0033
0034 virtual std::string getLL1Type() const { return "none"; }
0035
0036 virtual void setLL1Type(std::string& ) {}
0037 virtual void setTriggerType(std::string& ) {}
0038
0039 virtual TriggerDefs::TriggerKey getTriggerKey() const { return 0; }
0040 virtual void setTriggerKey(TriggerDefs::TriggerKey ) {}
0041
0042 virtual std::vector<unsigned int>* GetTriggerBits() { return nullptr; }
0043 virtual std::vector<unsigned int>* get_word(int ) { return nullptr; }
0044
0045 virtual bool passesTrigger() { return 0; }
0046 virtual bool passesThreshold(int ) { return 0; }
0047
0048 virtual std::vector<std::pair<TriggerDefs::TriggerSumKey, unsigned short>> getTriggeredSums();
0049 virtual std::vector<TriggerDefs::TriggerSumKey> getTriggeredSumKeys(int ith = 0);
0050 virtual std::vector<TriggerDefs::TriggerPrimKey> getTriggeredPrimitives();
0051
0052 virtual void addTriggeredSum(TriggerDefs::TriggerSumKey , unsigned short ) { return; }
0053 virtual void addTriggeredPrimitive(TriggerDefs::TriggerPrimKey ) { return; }
0054
0055 virtual void add_word(int , std::vector<unsigned int>* ) {}
0056
0057 virtual void set_event_number(unsigned int ) {}
0058 virtual unsigned int get_event_number() { return 0; }
0059
0060 virtual void set_clock_number(unsigned int ) {}
0061 virtual unsigned int get_clock_number() { return 0; }
0062
0063 virtual ConstRange getTriggerWords() const;
0064 virtual Range getTriggerWords();
0065
0066 private:
0067 ClassDefOverride(LL1Out, 1);
0068 };
0069
0070 #endif