00001
00002
00003 #ifndef XAODTRIGL1CALO_VERSIONS_CMXETSUMS_V1_H
00004 #define XAODTRIGL1CALO_VERSIONS_CMXETSUMS_V1_H
00005
00006
00007 #include "AthLinks/ElementLink.h"
00008 #include "AthContainers/AuxElement.h"
00009
00010
00011 #include <stdint.h>
00012
00013 namespace xAOD {
00014
00021
00022 class CMXEtSums_v1 : public SG::AuxElement {
00023 public:
00024 enum Sources { REMOTE_STANDARD = 16, REMOTE_RESTRICTED,
00025 LOCAL_STANDARD, LOCAL_RESTRICTED,
00026 TOTAL_STANDARD, TOTAL_RESTRICTED,
00027 SUM_ET_STANDARD, SUM_ET_RESTRICTED,
00028 MISSING_ET_STANDARD, MISSING_ET_RESTRICTED,
00029 MISSING_ET_SIG_STANDARD, MAX_SOURCE
00030 };
00031 public:
00033 CMXEtSums_v1();
00035 virtual ~CMXEtSums_v1() {}
00036
00038 virtual void initialize(const uint8_t crate, const uint8_t source);
00039
00041 virtual void initialize(const uint8_t crate, const uint8_t source,
00042 const std::vector<uint16_t>& etVec,
00043 const std::vector<uint16_t>& exVec,
00044 const std::vector<uint16_t>& eyVec,
00045 const std::vector<uint32_t>& etErrorVec,
00046 const std::vector<uint32_t>& exErrorVec,
00047 const std::vector<uint32_t>& eyErrorVec,
00048 const uint8_t peak);
00049
00052 void addEt(const std::vector<uint16_t>& etVec, const std::vector<uint32_t>& etErrorVec);
00054 void addEx(const std::vector<uint16_t>& exVec, const std::vector<uint32_t>& exErrorVec);
00056 void addEy(const std::vector<uint16_t>& eyVec, const std::vector<uint32_t>& eyErrorVec);
00057
00059 uint8_t crate() const;
00061 void setCrate(uint8_t);
00062
00064 uint8_t sourceComponent() const;
00066 void setSourceComponent(uint8_t);
00067
00069 uint8_t peak() const;
00071 void setPeak(uint8_t);
00072
00074 const std::vector<uint16_t>& etVec() const;
00076 void setEtVec(const std::vector<uint16_t>&);
00077
00079 const std::vector<uint16_t>& exVec() const;
00081 void setExVec(const std::vector<uint16_t>&);
00082
00084 const std::vector<uint16_t>& eyVec() const;
00086 void setEyVec(const std::vector<uint16_t>&);
00087
00089 const std::vector<uint32_t>& etErrorVec() const;
00091 void setEtErrorVec(const std::vector<uint32_t>&);
00092
00094 const std::vector<uint32_t>& exErrorVec() const;
00096 void setExErrorVec(const std::vector<uint32_t>&);
00097
00099 const std::vector<uint32_t>& eyErrorVec() const;
00101 void setEyErrorVec(const std::vector<uint32_t>&);
00102
00106
00108 uint16_t et() const;
00109
00111 uint16_t ex() const;
00112
00114 uint16_t ey() const;
00115
00117 uint32_t etError() const;
00118
00120 uint32_t exError() const;
00121
00123 uint32_t eyError() const;
00124
00125 };
00126 }
00127 #endif
00128