00001
00002
00003 #ifndef XAODTRIGL1CALO_VERSIONS_CPMTOBROI_V1_H
00004 #define XAODTRIGL1CALO_VERSIONS_CPMTOBROI_V1_H
00005
00006
00007 #include "AthLinks/ElementLink.h"
00008 #include "AthContainers/AuxElement.h"
00009
00010 namespace xAOD{
00011
00018
00019 class CPMTobRoI_v1 : public SG::AuxElement {
00020 public:
00022 CPMTobRoI_v1();
00024 virtual ~CPMTobRoI_v1(){}
00025 virtual void initialize(int crate, int cpm, int chip, int location,
00026 int type, int energy, int isol);
00028 uint32_t roiWord() const;
00030 void setRoiWord(uint32_t);
00031
00033 int crate() const;
00035 int cpm() const;
00037 int chip() const;
00039 int location() const;
00041 int type() const;
00043 int energy() const;
00045 int isolation() const;
00046
00047 private:
00048
00050 static const int s_wordIdVal = 0xa;
00051
00052 static const int s_wordIdBit = 28;
00053 static const int s_crateBit = 26;
00054 static const int s_cpmBit = 22;
00055 static const int s_chipBit = 19;
00056 static const int s_locationBit = 16;
00057 static const int s_isolBit = 8;
00058 static const int s_energyBit = 0;
00059
00060 static const int s_wordIdMask = 0xf;
00061 static const int s_crateMask = 0x3;
00062 static const int s_cpmMask = 0xf;
00063 static const int s_chipMask = 0x7;
00064 static const int s_locationMask = 0x7;
00065 static const int s_isolMask = 0x1f;
00066 static const int s_energyMask = 0xff;
00067 static const int s_typeMask = 0x1;
00068
00069 };
00070 }
00071 #endif
00072