00001 #ifndef SiStripCommon_SiStripHistoId_h 00002 #define SiStripCommon_SiStripHistoId_h 00003 // -*- C++ -*- 00004 // 00005 // Package: SiStripCommon 00006 // Class : SiStripHistoId 00007 // 00016 // 00017 // Original Author: dkcira 00018 // Created: Wed Feb 22 16:07:51 CET 2006 00019 // $Id: SiStripHistoId.h,v 1.3 2009/02/18 14:28:02 maborgia Exp $ 00020 // 00021 00022 #include <string> 00023 #include <boost/cstdint.hpp> 00024 00025 00026 class SiStripHistoId 00027 { 00028 public: 00029 SiStripHistoId(); 00030 virtual ~SiStripHistoId(); 00031 // generally: histoid = description + separator1 + id_type + separator2 + component_id 00032 std::string createHistoId(std::string description, std::string id_type, uint32_t component_id); 00033 std::string createHistoLayer(std::string description, std::string id_type,std::string path, std::string flag); 00034 std::string getSubdetid(uint32_t id,bool flag_ring); 00035 // extract the component_id and the id_type from a histogram id 00036 uint32_t getComponentId(std::string histoid); 00037 std::string getComponentType(std::string histoid); 00038 private: 00039 SiStripHistoId(const SiStripHistoId&); // stop default 00040 const SiStripHistoId& operator=(const SiStripHistoId&); // stop default 00041 std::string returnIdPart(std::string histoid, uint32_t whichpart); 00042 // ---------- member data -------------------------------- 00043 std::string separator1; 00044 std::string separator2; 00045 }; 00046 00047 #endif