CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CalibFormats/HcalObjects/interface/HcalText2DetIdConverter.h

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