00001 #ifndef SiStripCommon_SiStripFolderOrganizer_h
00002 #define SiStripCommon_SiStripFolderOrganizer_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <string>
00025
00026 class DQMStore;
00027
00028 class SiStripFolderOrganizer
00029 {
00030
00031 public:
00032 static unsigned short const all_ = 65535;
00033
00034 SiStripFolderOrganizer();
00035 virtual ~SiStripFolderOrganizer();
00036
00037
00038 std::string getSiStripFolder();
00039 void setSiStripFolder();
00040
00041
00042 std::string getSiStripTopControlFolder();
00043 void setSiStripTopControlFolder();
00044 std::string getSiStripControlFolder(
00045
00046 unsigned short slot = all_,
00047 unsigned short ring = all_,
00048 unsigned short addr = all_,
00049 unsigned short chan = all_
00050
00051 );
00052 void setSiStripControlFolder(
00053
00054 unsigned short slot = all_,
00055 unsigned short ring = all_,
00056 unsigned short addr = all_,
00057 unsigned short chan = all_
00058
00059 );
00060
00061 std::pair<std::string,int32_t> GetSubDetAndLayer(const uint32_t& detid, bool ring_flag = 0);
00062
00063 void setDetectorFolder(uint32_t rawdetid=0);
00064 void getFolderName(int32_t rawdetid, std::string& lokal_folder);
00065
00066 void setLayerFolder(uint32_t rawdetid=0,int32_t layer=0,bool ring_flag = 0);
00067 private:
00068 SiStripFolderOrganizer(const SiStripFolderOrganizer&);
00069 const SiStripFolderOrganizer& operator=(const SiStripFolderOrganizer&);
00070
00071 private:
00072 std::string TopFolderName;
00073 std::string MechanicalFolderName;
00074 std::string ReadoutFolderName;
00075 std::string ControlFolderName;
00076 std::string sep;
00077 DQMStore* dbe_;
00078 };
00079 #endif