00001 #ifndef _MANTREE_MTRIGGER_H__
00002 #define _MANTREE_MTRIGGER_H__
00003
00004 #ifdef _ATHENA_CLASSES__
00005 #include "GaudiKernel/ToolHandle.h"
00006 #include "TrigDecisionTool/TrigDecisionTool.h"
00007 #endif
00008
00009 #include "TObject.h"
00010
00011 #include <string>
00012 #include <iosfwd>
00013
00014 namespace manchester {
00015
00023 class MTriggerChain : public TObject {
00024 public:
00026 MTriggerChain();
00027
00029 MTriggerChain(const MTriggerChain& aei);
00030
00031 #ifdef _ATHENA_CLASSES__
00033 MTriggerChain(const ToolHandle<Trig::TrigDecisionTool>& m_trigDec, const std::string& efname);
00034 #endif
00035
00037 virtual ~MTriggerChain();
00038
00040 std::string Name() const;
00041
00043 std::string L2Name() const;
00044
00046 std::string L1Name() const;
00047
00049 Bool_t Passed() const;
00050
00052 Bool_t PhysicsPassed() const;
00053
00055 Bool_t PassedRaw() const;
00056
00057 Bool_t PassedChain() const;
00058
00060 Bool_t PassedL1() const;
00061
00063 Bool_t PassedL2() const;
00064
00066 Bool_t Accepted() const;
00067
00069 std::string Type() const;
00070
00072 std::ostream& PrintContent(std::ostream& os) const;
00073
00075 MTriggerChain& operator= (const MTriggerChain& obj);
00076
00077 protected:
00079 void Reset();
00080
00081 private:
00083 std::string m_name;
00084
00086 std::string m_l2name;
00087
00089 std::string m_l1name;
00090
00092 Bool_t m_passed;
00093
00095 Bool_t m_physicsPassed;
00096
00098 Bool_t m_rawPassed;
00099
00101 Bool_t m_chainPassed;
00102
00104 Bool_t m_passed_lone;
00105
00107 Bool_t m_passed_ltwo;
00108
00110 Bool_t m_accepted;
00111
00112 #ifndef DOXYGEN_IGNORE
00113 ClassDef(MTriggerChain, 5);
00114 #endif // DOXYGEN_IGNORE
00115
00116 };
00117
00118 }
00119
00120 std::ostream& operator<< (std::ostream& os, const manchester::MTriggerChain& o);
00121
00122
00123 #endif