Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

Displayer.h

00001 #ifndef SCTDATADISPLAY_DISPLAYER_H
00002 #define SCTDATADISPLAY_DISPLAYER_H
00003 
00004 #include <boost/shared_ptr.hpp>
00005 #include <string>
00006 #include <iostream>
00007 
00008 #include <TH1.h>
00009 
00010 using boost::shared_ptr;
00011 using std::string;
00012 
00013 namespace Sct {
00014     class Serializable;
00015 }
00016 
00017 namespace SctData {
00018     class DefectList;
00019 }
00020 
00021 class TCanvas;
00022 
00023 
00024 
00025 namespace SctDataDisplay {
00026  
00027 class DisplayInfo;
00028 
00029 
00035 class DisplayData {
00036 };
00037 
00038 
00044 class Displayer {
00045 public:
00046   Displayer() {}
00051     virtual shared_ptr<DisplayData> display(shared_ptr<const Sct::Serializable> data, const DisplayInfo& info, std::ostream& os) = 0;
00052     
00053 protected:           
00057     static shared_ptr<TCanvas> createCanvas(string name, string title);
00058     
00062     static void divideCanvas(unsigned int n, TCanvas& canvas);
00063     
00067     void printDefectList(const SctData::DefectList& list, std::ostream& os);
00068 
00072     void displayHistogram(TH1& hist, std::string option="");
00076     void displayHistogram(boost::shared_ptr<TH1> hist, std::string option="");
00077 
00078 };
00079 
00080 
00084 class GenericDisplayer : public virtual Displayer {
00085 public:
00091     virtual bool canDisplay(const Sct::Serializable& ob) = 0;
00092 
00093 };
00094 
00095 }
00096 
00097 #endif //SCTDATADISPLAY_DISPLAYER_H

Generated on Fri Dec 16 19:38:09 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5