00001 #ifndef EcalTestBeam_EcalTBCrystalMap_h 00002 #define EcalTestBeam_EcalTBCrystalMap_h 00003 00004 /* 00005 * 00006 * $Id: EcalTBCrystalMap.h,v 1.3 2006/07/18 14:07:49 fabiocos Exp $ 00007 * 00008 */ 00009 00010 #include <map> 00011 #include <iostream> 00012 #include <fstream> 00013 #include <string> 00014 00015 #include "FWCore/Utilities/interface/Exception.h" 00016 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00017 00018 00019 class EcalTBCrystalMap { 00020 00021 public: 00022 00023 typedef std::map< std::pair< double, double >, int > CrystalTBIndexMap; 00024 00025 EcalTBCrystalMap(std::string const & MapFileName); 00026 ~EcalTBCrystalMap(); 00027 00028 int CrystalIndex(double thisEta, double thisPhi); 00029 void findCrystalAngles(const int thisCrysIndex, double & thisEta, double & thisPhi); 00030 00031 static const int NCRYSTAL = 1700; 00032 00033 private: 00034 00035 double crysEta, crysPhi; 00036 int crysIndex; 00037 00038 CrystalTBIndexMap map_; 00039 00040 }; 00041 00042 #endif