Go to the documentation of this file.00001 #ifndef _RECOMET_METALGORITHMS_HCALNOISERBXARRAY_H_
00002 #define _RECOMET_METALGORITHMS_HCALNOISERBXARRAY_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "boost/array.hpp"
00016
00017 #include "DataFormats/METReco/interface/HcalNoiseHPD.h"
00018 #include "DataFormats/METReco/interface/HcalNoiseRBX.h"
00019 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
00020 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00021 #include "DataFormats/CaloTowers/interface/CaloTower.h"
00022 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00023 #include "RecoMET/METAlgorithms/interface/HcalHPDRBXMap.h"
00024
00025 namespace reco {
00026
00027 class HcalNoiseRBXArray : public boost::array<HcalNoiseRBX, HcalHPDRBXMap::NUM_RBXS>
00028 {
00029 public:
00030
00031 HcalNoiseRBXArray();
00032 virtual ~HcalNoiseRBXArray();
00033
00034
00035
00036
00037 std::vector<HcalNoiseHPD>::iterator endHPD(void);
00038 std::vector<HcalNoiseHPD>::const_iterator endHPD(void) const;
00039
00040
00041
00042 inline HcalNoiseRBXArray::iterator endRBX(void) { return end(); }
00043 inline HcalNoiseRBXArray::const_iterator endRBX(void) const { return end(); }
00044
00045
00046
00047 std::vector<HcalNoiseHPD>::iterator findHPD(int hpdindex);
00048 std::vector<HcalNoiseHPD>::const_iterator findHPD(int hpdindex) const;
00049 HcalNoiseRBXArray::iterator findRBX(int rbxindex);
00050 HcalNoiseRBXArray::const_iterator findRBX(int rbxindex) const;
00051 std::vector<HcalNoiseHPD>::iterator findHPD(const HcalDetId&);
00052 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HcalDetId&) const;
00053 HcalNoiseRBXArray::iterator findRBX(const HcalDetId&);
00054 HcalNoiseRBXArray::const_iterator findRBX(const HcalDetId&) const;
00055 std::vector<HcalNoiseHPD>::iterator findHPD(const HBHEDataFrame&);
00056 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HBHEDataFrame&) const;
00057 HcalNoiseRBXArray::iterator findRBX(const HBHEDataFrame&);
00058 HcalNoiseRBXArray::const_iterator findRBX(const HBHEDataFrame&) const;
00059 std::vector<HcalNoiseHPD>::iterator findHPD(const HBHERecHit&);
00060 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HBHERecHit&) const;
00061 HcalNoiseRBXArray::iterator findRBX(const HBHERecHit&);
00062 HcalNoiseRBXArray::const_iterator findRBX(const HBHERecHit&) const;
00063
00064
00065 void findHPD(const CaloTower&, std::vector<std::vector<HcalNoiseHPD>::iterator>&);
00066 void findHPD(const CaloTower&, std::vector<std::vector<HcalNoiseHPD>::const_iterator>&) const;
00067 void findRBX(const CaloTower&, std::vector<HcalNoiseRBXArray::iterator>&);
00068 void findRBX(const CaloTower&, std::vector<HcalNoiseRBXArray::const_iterator>&) const;
00069
00070 private:
00071
00072 };
00073
00074 }
00075
00076 #endif