00001
00002
00003 #include <TStyle.h>
00004 #include <TColor.h>
00005 #include <TROOT.h>
00006 #include <TGeoManager.h>
00007
00008 #include "TridHistoPage.h"
00009 #include "TridHistoGLFrame.h"
00010 #include "TridSketches.h"
00011 #include "TridModelCrate.h"
00012 #include "TridControl.h"
00013
00014 #include "Midad/Base/PageProxy.h"
00015 #include "Midad/Gui/GuiBox.h"
00016 #include "Midad/Gui/GuiCanvas.h"
00017 #include "Midad/Gui/GuiMainWindow.h"
00018 #include "Midad/Base/Mint.h"
00019
00020 #include <DataUtil/GetCandidate.h>
00021 #include <JobControl/JobC.h>
00022
00023 #include <sigc++/sigc++.h>
00024 #include <sigc++/class_slot.h>
00025
00026 #include "MessageService/MsgService.h"
00027 #include "MinosObjectMap/MomNavigator.h"
00028 #include "Plex/PlexHandle.h"
00029 #include "Plex/PlexSEIdAltL.h"
00030 #include "Plex/PlexStripEndId.h"
00031 #include "Plex/PlexPixelSpotId.h"
00032
00033 #include "CandData/CandRecord.h"
00034 #include "CandDigit/CandDigitListHandle.h"
00035 #include "CandDigit/CandDigitHandle.h"
00036 #include "RawData/RawChannelId.h"
00037
00038 using namespace SigC;
00039
00040
00041 CVSID("$Id: TridHistoPage.cxx,v 1.10 2005/05/19 17:47:35 tagg Exp $");
00042
00043
00044
00045 static PageProxy<TridHistoPage> gsTridHistoPageProxy("TridColorHisto");
00046 static PageProxy<TridTransHistoPage> gsTridTransHistoPageProxy("TridTransHisto");
00047
00048
00049 TridHistoPage::TridHistoPage()
00050 : TridPage(),
00051 fHist(0),
00052 fModes(0)
00053 {
00054
00055 fViewModesSupported = kViewNone;
00056 fViewMode = kView2D;
00057 fWindowName = "TridColorHisto";
00058 fCreateHistograms = false;
00059 }
00060
00061 TridHistoPage::~TridHistoPage()
00062 {
00063 if(fModes) delete fModes;
00064 }
00065
00066 TObject* TridHistoPage::Init(Mint* mint, PageDisplay* pageDisplay, GuiBox& box)
00067 {
00068 MSG("TriD",Msg::kDebug) << "TridHistoPage: Init()" << endl;
00069 TridPage::Init(mint, pageDisplay, box);
00070
00071
00072 fHist = fTridControl->GetColorHistogram();
00073
00074
00075 fModes = new GuiToggledSubMenu(TridControl::kColorAsChargePE);
00076 fModes->CreateMenu(fOptionsMenu,"Color Modes");
00077 for(int i=0;i<TridControl::kNumColorModes;i++) {
00078 fModes->AddItem(kColorModeNames[i],i);
00079 }
00080 fModes->Connect(slot_class(*TridControl::Instance(fPageDisplay),&TridControl::ChangeColorMode));
00081
00082 return NULL;
00083 }
00084
00085 TridGLFrame* TridHistoPage::CreateNewGLFrame( TridPage::ViewMode_t )
00086 {
00087
00088 return new TridHistoGLFrame(this,*fGuiBox,NULL,fTridControl);
00089 }
00090
00091
00092 void TridHistoPage::CreateModels()
00093 {
00094 fHist = fTridControl->GetColorHistogram();
00095 if(fHist) {
00096 dynamic_cast<TridHistoGLFrame*>(fGLFrame.get())->SetHistogram(fHist);
00097 }
00098 }
00099
00100
00102
00103 TridTransHistoPage::TridTransHistoPage() :
00104 TridHistoPage()
00105 {
00106 fWindowName = "TridTransHisto";
00107 }
00108
00109 TObject* TridTransHistoPage::Init(Mint* mint, PageDisplay* pageDisplay, GuiBox& box)
00110 {
00111 MSG("TriD",Msg::kDebug) << "TridTransHistoPage: Init()" << endl;
00112 TridPage::Init(mint, pageDisplay, box);
00113
00114
00115 fHist = fTridControl->GetTransHistogram();
00116
00117
00118 fModes = new GuiToggledSubMenu(TridControl::kTransConstant);
00119
00120 fModes->CreateMenu(fOptionsMenu,"Trans Modes");
00121 for(int i=0;i<TridControl::kNumTransModes;i++) {
00122 fModes->AddItem(kTransModeNames[i],i);
00123 }
00124 fModes->Connect(slot_class(*TridControl::Instance(fPageDisplay),&TridControl::ChangeTransMode));
00125
00126 return NULL;
00127 }
00128
00129 TridGLFrame* TridTransHistoPage::CreateNewGLFrame( TridPage::ViewMode_t )
00130 {
00131 return new TridHistoGLFrame(this,*fGuiBox,NULL,fTridControl, TridHistoGLFrame::kTrans);
00132 }
00133
00134
00135 void TridTransHistoPage::CreateModels()
00136 {
00137 fHist = fTridControl->GetTransHistogram();
00138 if(fHist) {
00139 dynamic_cast<TridHistoGLFrame*>(fGLFrame.get())->SetHistogram(fHist);
00140 }
00141 }
00142