00001 #ifndef XANAEcalGeometry_h 00002 #define XANAEcalGeometry_h 00003 00004 00005 #include <CLHEP/Geometry/Point3D.h> 00006 #include <XANADOO/XANAClusters/interface/XANACellID.h> 00007 #include <map> 00008 00009 #include "TFile.h" 00010 #include "TTree.h" 00011 00012 00013 class XANAEcalGeometry { 00014 00015 public: 00016 XANAEcalGeometry(); 00017 XANAEcalGeometry( XANACellID ); 00018 00019 ~XANAEcalGeometry(); 00020 00021 Int_t getEtaORxIndex(XANACellID); 00022 Int_t getPhiORyIndex(XANACellID); 00023 00024 XANACellID getNorth(XANACellID); 00025 XANACellID getSouth(XANACellID); 00026 XANACellID getEast(XANACellID); 00027 XANACellID getWest(XANACellID); 00028 00029 XANACellID getNorthEast(XANACellID); 00030 XANACellID getNorthWest(XANACellID); 00031 XANACellID getSouthEast(XANACellID); 00032 XANACellID getSouthWest(XANACellID); 00033 00034 XANACellID getCellID(Int_t crystalNumber){return xtalNumber2CellID_[crystalNumber];}; 00035 00036 Int_t getSubDetector(XANACellID); 00037 00038 Int_t isXtal(Int_t easyXtalNumber, Int_t subDetector); 00039 00040 protected: 00041 00042 std::map<Int_t, XANACellID> xtalNumber2CellID_; 00043 std::map<Int_t, XANACellID> easyXtalNumber2CellID_; 00044 std::map<Int_t, Int_t> xtalNumber2easyXtalNumber_; 00045 Int_t isXtal_[81200]; 00046 Int_t nbXtalInBar_; 00047 Int_t nbXtalInOneEndcap_; 00048 Int_t nbVirtualXtalInOneEndcap_; 00049 }; 00050 00051 #endif 00052