00001 #ifndef _MANTREE_MTRIGGERCHAINRESULT_H__
00002 #define _MANTREE_MTRIGGERCHAINRESULT_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
00022 class MTriggerChainResult : public TObject {
00023 public:
00025 MTriggerChainResult();
00026
00028 MTriggerChainResult(const MTriggerChainResult& aei);
00029
00030 #ifdef _ATHENA_CLASSES__
00032 MTriggerChainResult(const ToolHandle<Trig::TrigDecisionTool>& m_trigDec, const std::string& efname);
00033 #endif
00034
00036 virtual ~MTriggerChainResult();
00037
00039 Bool_t Passed() const;
00040
00042 Bool_t PhysicsPassed() const;
00043
00045 Bool_t PassedRaw() const;
00046
00047 Bool_t PassedChain() const;
00048
00050 Bool_t PassedL1() const;
00051
00053 Bool_t PassedL2() const;
00054
00056 Bool_t Accepted() const;
00057
00059 std::string Type() const;
00060
00062 std::ostream& PrintContent(std::ostream& os) const;
00063
00065 MTriggerChainResult& operator= (const MTriggerChainResult& obj);
00066
00067 protected:
00069 void Reset();
00070
00071 private:
00072
00074 Bool_t m_passed;
00075
00077 Bool_t m_physicsPassed;
00078
00080 Bool_t m_rawPassed;
00081
00083 Bool_t m_chainPassed;
00084
00086 Bool_t m_passed_lone;
00087
00089 Bool_t m_passed_ltwo;
00090
00092 Bool_t m_accepted;
00093
00094 #ifndef DOXYGEN_IGNORE
00095 ClassDef(MTriggerChainResult, 1);
00096 #endif // DOXYGEN_IGNORE
00097
00098 };
00099
00100 }
00101
00102 std::ostream& operator<< (std::ostream& os, const manchester::MTriggerChainResult& o);
00103
00104
00105 #endif