00001 #ifndef SCTDATADISPLAY_RAWDISPLAYER_H 00002 #define SCTDATADISPLAY_RAWDISPLAYER_H 00003 00004 #include <vector> 00005 #include <boost/shared_ptr.hpp> 00006 #include "Displayer.h" 00007 00008 class TH1; 00009 class TH2; 00010 class TCanvas; 00011 00012 namespace SctData { 00013 class RawScanResult; 00014 } 00015 00016 namespace SctDataDisplay { 00017 00018 class RawDisplayData; 00019 00024 class RawDisplayer : public Displayer { 00025 public: 00026 RawDisplayer() {} 00027 shared_ptr<DisplayData> display(shared_ptr<const Sct::Serializable> data, const DisplayInfo& info, std::ostream& os); 00028 00029 private: 00030 void displayProjs(const DisplayInfo& info, RawDisplayData& data); 00031 void displayOccupancyPerEvent(const DisplayInfo& info, RawDisplayData& data); 00032 static bool inMap; 00033 }; 00034 00035 class RawDisplayData : public DisplayData { 00036 public: 00037 std::vector<shared_ptr<TCanvas> > canvas; 00038 boost::shared_ptr<const SctData::RawScanResult> scan; 00039 std::vector<shared_ptr<TH1> > histos; 00040 std::vector<shared_ptr<TH2> > event_occ; 00041 }; 00042 00043 } 00044 00045 #endif //SCTDATADISPLAY_RAWDISPLAYER_H