00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef StHltTriggerReason_hh
00018 #define StHltTriggerReason_hh
00019
00020 #include <Stiostream.h>
00021 #include "StObject.h"
00022 #include "StArray.h"
00023
00024 class StHltTriggerReasonCapable;
00025
00026 enum StHltTriggerReasonType {
00027 kHighPt = 0x10000,
00028 kDiElectron = 0x20000,
00029 kHeavyFragment = 0x40000,
00030 kAllEvents = 0x80000,
00031 kRandomEvents = 0x100000,
00032 kBESGoodEvents = 0x200000,
00033 };
00034
00035 class StHltTriggerReason : public StObject {
00036 public:
00037 StHltTriggerReason();
00038 ~StHltTriggerReason();
00039
00040 StHltTriggerReasonType reasonBit() const;
00041 StHltTriggerReasonCapable* reason();
00042 const StHltTriggerReasonCapable* reason() const;
00043
00044 void setReasonBit(StHltTriggerReasonType);
00045 void setReason(StHltTriggerReasonCapable*);
00046
00047
00048 private:
00049 StHltTriggerReasonType mReasonBit;
00050 #ifdef __CINT__
00051 StObjLink mReason;
00052 #else
00053 StLink<StHltTriggerReasonCapable> mReason;
00054 #endif //__CINT__
00055
00057
00058 ClassDef(StHltTriggerReason,1)
00059 };
00060
00061 inline StHltTriggerReasonType StHltTriggerReason::reasonBit() const {return mReasonBit;}
00062 inline StHltTriggerReasonCapable* StHltTriggerReason::reason() { return mReason; }
00063 inline const StHltTriggerReasonCapable* StHltTriggerReason::reason() const { return mReason; }
00064
00065 ostream& operator<<(ostream&, const StHltTriggerReason&);
00066
00067 #endif