CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Geometry/EcalTestBeam/interface/EcalTBCrystalMap.h

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