Go to the documentation of this file.00001
00002
00003 #ifndef DQM_SiStripCommissioningClients_SiStripTFile_H
00004 #define DQM_SiStripCommissioningClients_SiStripTFile_H
00005
00006 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
00007 #include "TFile.h"
00008 #include <vector>
00009 #include <string>
00010 #include <map>
00011
00012 class TDirectory;
00013 class TH1;
00014
00022 class SiStripTFile : public TFile {
00023
00024 public:
00025
00026
00027
00029 SiStripTFile( const char* fname,
00030 Option_t* option = "UPDATE",
00031 const char* ftitle = "",
00032 Int_t compress = 1 );
00033
00035 virtual ~SiStripTFile();
00036
00038 typedef std::vector<TH1*> Histos;
00039
00041 typedef std::map< std::string, Histos > HistosMap;
00042
00043
00044
00048 TDirectory* setDQMFormat( sistrip::RunType, sistrip::View );
00049
00053 TDirectory* readDQMFormat();
00054
00057 bool queryDQMFormat();
00058
00060 TDirectory* top();
00061
00063 TDirectory* dqmTop();
00064
00066 TDirectory* sistripTop();
00067
00069 sistrip::RunType& runType();
00070
00072 sistrip::View& View();
00073
00075 void addDevice(unsigned int key);
00076
00078 TDirectory* addPath( const std::string& );
00079
00081 void findHistos(TDirectory*, std::map< std::string, std::vector<TH1*> >*);
00082
00085 void dirContent(TDirectory*, std::vector<TDirectory*>*, std::map< std::string, std::vector<TH1*> >*);
00086
00087 private:
00088
00090 sistrip::RunType runType_;
00091
00093 sistrip::View view_;
00094
00096 TDirectory* top_;
00097
00099 TDirectory* dqmTop_;
00100
00102 TDirectory* sistripTop_;
00103
00105 bool dqmFormat_;
00106
00107 };
00108
00109 #endif // DQM_SiStripCommissioningClients_SiStripTFile_H