00001 #ifndef FastSimulation_CaloGeometryTools_CrystalWindowMap_h 00002 #define FastSimulation_CaloGeometryTools_CrystalWindowMap_h 00003 00015 // FAMOS headers 00016 #include "FastSimulation/CaloGeometryTools/interface/Crystal.h" 00017 00018 //C++ headers 00019 #include <vector> 00020 00021 class CaloGeometryHelper; 00022 00023 class CrystalWindowMap 00024 { 00025 public: 00027 CrystalWindowMap(const CaloGeometryHelper *, const std::vector<Crystal> & cw); 00028 ~CrystalWindowMap(){;}; 00029 00031 bool getCrystalWindow(unsigned , std::vector<unsigned>& ) const ; 00033 bool getCrystalWindow(unsigned iq,const std::vector<unsigned>* cw) const; 00035 const std::vector<unsigned>& getCrystalWindow(unsigned, bool& status) const; 00036 inline unsigned size() const {return size_;} 00037 00038 private: 00039 const CaloGeometryHelper * myCalorimeter_; 00040 00041 unsigned size_; 00042 const std::vector<Crystal>& originalVector_; 00043 00044 std::vector< std::vector<unsigned> > myNeighbours_; 00045 }; 00046 00047 #endif