File indexing completed on 2024-04-06 12:11:11
0001 #ifndef FastSimulation_CaloGeometryTools_CrystalWindowMap_h
0002 #define FastSimulation_CaloGeometryTools_CrystalWindowMap_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "FastSimulation/CaloGeometryTools/interface/Crystal.h"
0017
0018
0019 #include <vector>
0020
0021 class CaloGeometryHelper;
0022
0023 class CrystalWindowMap {
0024 public:
0025
0026 CrystalWindowMap(const CaloGeometryHelper*, const std::vector<Crystal>& cw);
0027 ~CrystalWindowMap() { ; };
0028
0029
0030 bool getCrystalWindow(unsigned, std::vector<unsigned>&) const;
0031
0032 bool getCrystalWindow(unsigned iq, const std::vector<unsigned>* cw) const;
0033
0034 const std::vector<unsigned>& getCrystalWindow(unsigned, bool& status) const;
0035 inline unsigned size() const { return size_; }
0036
0037 private:
0038 const CaloGeometryHelper* myCalorimeter_;
0039
0040 unsigned size_;
0041 const std::vector<Crystal>& originalVector_;
0042
0043 std::vector<std::vector<unsigned> > myNeighbours_;
0044 };
0045
0046 #endif