00001 #ifndef HCALTEXT2DETIDCONVERTER_H 00002 #define HCALTEXT2DETIDCONVERTER_H 00003 00019 #include <string> 00020 #include "DataFormats/DetId/interface/DetId.h" 00021 00022 class HcalText2DetIdConverter { 00023 public: 00024 00025 HcalText2DetIdConverter (const std::string& fFlavor = "NA", const std::string& fField1 = "0", 00026 const std::string& fField2 = "0", const std::string& fField3 = "0"); 00027 00028 HcalText2DetIdConverter (DetId fId); 00029 00030 bool isHcalDetId () const; 00031 bool isHcalCalibDetId () const; 00032 bool isHcalTrigTowerDetId () const; 00033 bool isHcalZDCDetId () const; 00034 00035 const std::string& getFlavor () const {return flavorName;} 00036 const std::string& getField1 () const {return field1;} 00037 const std::string& getField2 () const {return field2;} 00038 const std::string& getField3 () const {return field3;} 00039 DetId getId () const {return mId;} 00040 int getField (int i) const; 00041 std::string toString () const; 00042 00043 private: 00044 bool init (const std::string& fFlavor, const std::string& fField1, 00045 const std::string& fField2, const std::string& fField3); 00046 bool init (DetId fId); 00047 void setField (int i, int fValue); 00048 std::string flavorName; 00049 std::string field1; 00050 std::string field2; 00051 std::string field3; 00052 DetId mId; 00053 }; 00054 00055 #endif