Go to the documentation of this file.00001 #ifndef FORIA_TRIGGER_DECISION_HH
00002 #define FORIA_TRIGGER_DECISION_HH
00003
00004 #include "ForIA/TriggerDecision.fh"
00005 #include "ForIA/TriggerConfiguration.hh"
00006
00007 #include <vector>
00008 #include <string>
00009 #include <bitset>
00010 #include <set>
00011
00012 namespace ForIA {
00013
00014 using std::vector;
00015 using std::string;
00016 using std::bitset;
00017 using std::set;
00018
00019 class Event;
00020
00022 class TriggerDecision{
00023
00024 public:
00025
00029 TriggerDecision();
00030
00032 void setEvent(const Event &evt);
00033
00040 bool passesL1(const string &name);
00041
00048 bool passesL2(const string &name);
00049
00056 bool passesEF(const string &name)const;
00057
00058 private:
00059
00060 friend class DataConverter;
00061
00062 void fillBits();
00063
00064 const vector<unsigned int> *m_ctpBits;
00065 bitset<256> m_l1Bits;
00066
00067 bool m_filledBitSet;
00068
00069 const vector<short int> *m_efPassedPhysics;
00070 mutable set<string> m_efPassed;
00071 mutable set<string> m_efFailed;
00072
00073 const vector<short int> *m_l2PassedPhysics;
00074 set<string> m_l2Passed;
00075 set<string> m_l2Failed;
00076
00077 TriggerConfiguration m_trigConf;
00078
00079 const size_t m_nTAVWords;
00080
00081 };
00082
00083
00084
00085 }
00086
00087 #endif