00001 #ifndef CaloOnlineTools_HcalOnlineDb_HcalChannelIterator_h 00002 #define CaloOnlineTools_HcalOnlineDb_HcalChannelIterator_h 00003 // -*- C++ -*- 00004 // 00005 // Package: HcalOnlineDb 00006 // Class : HcalChannelIterator 00007 // 00016 // 00017 // Original Author: Gena Kukartsev 00018 // Created: Fri Jul 10 16:59:15 CEST 2009 00019 // $Id: HcalChannelIterator.h,v 1.2 2009/08/04 22:25:17 kukartse Exp $ 00020 // 00021 00022 #include <iostream> 00023 #include <string> 00024 #include <vector> 00025 #include "DataFormats/HcalDetId/interface/HcalGenericDetId.h" 00026 00027 00028 class HcalChannelIterator 00029 { 00030 00031 public: 00032 HcalChannelIterator(); 00033 virtual ~HcalChannelIterator(); 00034 00035 int clearChannelList(void); 00036 int size(void); 00037 int addListFromLmapAscii(std::string filename); 00038 int initHBEFListFromLmapAscii(void); 00039 int init(std::vector<HcalGenericDetId> map); 00040 00041 // 00042 //_____iterator methods __________________________ 00043 // 00044 int begin(void); 00045 int next(void); 00046 bool end(void); 00047 HcalGenericDetId getHcalGenericDetId(void); 00048 HcalSubdetector getHcalSubdetector(void); 00049 int getIeta(void); 00050 int getIphi(void); 00051 int getDepth(void); 00052 00053 private: 00054 00055 std::vector<HcalGenericDetId> channel_list; 00056 std::vector<HcalGenericDetId>::const_iterator const_iterator; 00057 00058 }; 00059 00060 00061 #endif