00001
00002
00003 #ifndef XAODTRIGL1CALO_VERSIONS_CPMTOWER_V2_H
00004 #define XAODTRIGL1CALO_VERSIONS_CPMTOWER_V2_H
00005
00006 #include "AthLinks/ElementLink.h"
00007 #include "AthContainers/AuxElement.h"
00008
00009
00010 #include <stdint.h>
00011
00012 namespace xAOD {
00013
00020
00021 class CPMTower_v2 : public SG::AuxElement{
00022 public:
00024 CPMTower_v2();
00026 virtual ~CPMTower_v2(){}
00027
00029 virtual void initialize(const float eta,const float phi);
00030
00032 virtual void initialize(const float eta,const float phi,
00033 const std::vector<uint8_t>& emEnergyVec,
00034 const std::vector<uint8_t>& hadEnergyVec,
00035 const std::vector<uint32_t>& emErrorVec,
00036 const std::vector<uint32_t>& hadErrorVec,
00037 const uint8_t peak);
00038
00040 const std::vector<uint8_t>& emEnergyVec() const;
00042 void setEmEnergyVec(const std::vector<uint8_t>&);
00043
00045 const std::vector<uint8_t>& hadEnergyVec() const;
00047 void setHadEnergyVec(const std::vector<uint8_t>&);
00048
00050 const std::vector<uint32_t>& emErrorVec() const;
00052 void setEmErrorVec(const std::vector<uint32_t>&);
00053
00055 const std::vector<uint32_t>& hadErrorVec() const;
00057 void setHadErrorVec(const std::vector<uint32_t>&);
00058
00060 float eta() const;
00062 void setEta(float);
00063
00065 float phi() const;
00067 void setPhi(float);
00068
00069 uint8_t peak() const;
00070 void setPeak(uint8_t);
00071
00072
00074 uint8_t emEnergy() const;
00076 uint8_t hadEnergy() const;
00077
00079 uint8_t emSliceEnergy(unsigned int slice) const;
00081 uint8_t hadSliceEnergy(unsigned int slice) const;
00082
00083
00084 uint32_t emError() const;
00085
00086 uint32_t hadError() const;
00087
00089 uint32_t emSliceError(unsigned int slice) const;
00091 uint32_t hadSliceError(unsigned int slice) const;
00092
00093 };
00094 }
00095
00096 #endif // XAODTRIGL1CALO_VERSIONS_CPMTOWER_V2_H