CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/FastSimulation/CaloGeometryTools/interface/CrystalWindowMap.h

Go to the documentation of this file.
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