00001
00002
00003 #ifndef XAODTRIGL1CALO_VERSIONS_CMMROI_V1_H
00004 #define XAODTRIGL1CALO_VERSIONS_CMMROI_V1_H
00005
00006 extern "C" {
00007 # include <stdint.h>
00008 }
00009
00010 #include "AthLinks/ElementLink.h"
00011 #include "AthContainers/AuxElement.h"
00012
00013 namespace xAOD {
00014
00021
00022 class CMMRoI_v1 : public SG::AuxElement{
00023 public:
00024
00025 CMMRoI_v1();
00026
00028 uint32_t jetEtRoiWord() const;
00030 void setJetEtRoiWord(uint32_t);
00031
00033 uint32_t energyRoiWord0() const;
00035 void setEnergyRoiWord0(uint32_t);
00036
00038 uint32_t energyRoiWord1() const;
00040 void setEnergyRoiWord1(uint32_t);
00041
00043 uint32_t energyRoiWord2() const;
00045 void setEnergyRoiWord2(uint32_t);
00046
00049 bool setRoiWord(uint32_t roiWord);
00050
00052 int jetEtHits() const;
00054 int sumEtHits() const;
00056 int missingEtHits() const;
00058 int missingEtSigHits() const;
00060 int ex() const;
00062 int ey() const;
00064 int et() const;
00066 int jetEtError() const;
00068 int sumEtError() const;
00070 int missingEtError() const;
00072 int missingEtSigError() const;
00074 int exError() const;
00076 int eyError() const;
00078 int etError() const;
00080 int parity(uint32_t roiWord) const;
00082 int overflow(uint32_t roiWord) const;
00083
00084 private:
00085
00086 static const int s_jetEtWordIdVal = 0x5;
00087 static const int s_wordIdVal0 = 0x4;
00088 static const int s_wordIdVal1 = 0x6;
00089 static const int s_wordIdVal2 = 0x5;
00090
00091 static const int s_jetEtWordIdBit = 29;
00092 static const int s_wordIdBit = 28;
00093 static const int s_jetEtHitsBit = 0;
00094 static const int s_sumEtHitsBit = 16;
00095 static const int s_missingEtHitsBit = 16;
00096 static const int s_missingEtSigHitsBit = 16;
00097 static const int s_energyBit = 0;
00098 static const int s_jetEtParityBit = 28;
00099 static const int s_parityBit = 27;
00100 static const int s_overflowBit = 15;
00101
00102 static const int s_jetEtWordIdMask = 0x7;
00103 static const int s_wordIdMask = 0xf;
00104 static const int s_jetEtHitsMask = 0xf;
00105 static const int s_sumEtHitsMask = 0xff;
00106 static const int s_missingEtHitsMask = 0xff;
00107 static const int s_missingEtSigHitsMask = 0xff;
00108 static const int s_energyMask = 0x7fff;
00109
00110 };
00111 }
00112
00113 #endif // XAODTRIGL1CALO_VERSIONS_CMMROI_V1_H