//*LastUpdate: jsf-1-13 25-January-2000 by Akiya Miyamoto //*LastUpdate: jsf-1-5 22-Feburary-1999 by Akiya Miyamoto //*-- Author : Akiya Miyamoto 22/02/1999 ////////////////////////////////////////////////////////////////// // // JSFEventDisplay // // Event Display // //$Id: JSFEventDisplay.h,v 1.13 2001/10/25 01:30:14 miyamoto Exp $ // ////////////////////////////////////////////////////////////////// #ifndef __JSFEventDisplay__ #define __JSFEventDisplay__ #include "JSFConfig.h" #include // #include #include #if __ROOT_FULLVERSION__ >= 22300 #include #else #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class JSFEDHelix : public THelix { public: JSFEDHelix(); virtual ~JSFEDHelix(); ClassDef(JSFEDHelix,1) // A THelix Class for JSF Event display }; class JSFEDProperty : public TObject { public: Char_t fName[24]; // Name of detector. Bool_t fShow; // Display the object or not. Int_t fColor; // color code. Int_t fType; // Marker type or line type. Float_t fSize; // Marker size./ line size. public: JSFEDProperty(){} JSFEDProperty(Char_t *name, Int_t show=1, Int_t col=1, Int_t type=1, Float_t size=1); virtual ~JSFEDProperty(){} void Update(TGPopupMenu *menu=NULL, Int_t menuid=0); void ToggleShow(); ClassDef(JSFEDProperty, 1) // A class to display event }; class JSFGUIFrame; // ************************************************************** class JSFEventDisplay : public TObject { friend class JSFGUIFrame ; protected: TDirectory *fCanvasDirectory; TCanvas *fCanvas; TView *fView; TList *fWidgets; TList *fSignals, *fHelixes; TGeometry *fGeometry; Int_t fViewNo; Bool_t fRememberDisplayView; // Float_t fViewAngle[3]; Double_t fViewAngle[3]; #if __ROOT_FULLVERSION__ >= 22500 Double_t fViewRange[3][6]; #else Float_t fViewRange[3][6]; #endif Int_t fCanvasSize[2]; Bool_t fDrawAtNewEvent; Int_t fDisplayType; Int_t fLTKCLTrackColor[14]; Float_t fBfield; // Magnetic field in kgauss Bool_t fDrawGeometry; Float_t fVTXViewRadius; Float_t fHDCScale; // Log10(Energy(GeV))*fHDCScale is box hight. Float_t fEMCScale; // Log10(Energy(GeV))*fEMCScale is box hight. JSFEDProperty *fGenNeutral; //! JSFEDProperty *fGenCharged; //! JSFEDProperty *fLTKCLTrack; //! JSFEDProperty *fCDCTrack; //! JSFEDProperty *fVTXHit; //! JSFEDProperty *fEMCHit; //! JSFEDProperty *fHDCHit; //! JSFGUIFrame *fGUIMain; //! public: JSFEventDisplay(JSFGUIFrame *gui=NULL); virtual ~JSFEventDisplay(); void Clear(); virtual void DisplayEventData(); virtual void DisplayLTKCLMomentum(); virtual void DrawGeometry(Int_t type); void InitializeGeometry(Int_t type); virtual void DisplayGeneratorParticles(); // void DisplayLTKCLTracks(); virtual void DisplayCDCTracks(); virtual void DisplayVTXHits(); virtual void DisplayEMCHits(); virtual void DisplayHDCHits(); // void GetViewRange(Float_t range[]){ // Int_t i; for(i=0;i<6;i++){ range[i]=fViewRange[i]; } } TCanvas *GetCanvas(){ return fCanvas; } Bool_t DrawAtNewEvent(){ return fDrawAtNewEvent; } void RememberView(){ fViewAngle[0]=fView->GetLongitude(); fViewAngle[1]=fView->GetLatitude(); fViewAngle[2]=fView->GetPsi(); } void Update(); void SetGUIMain(JSFGUIFrame *gui){ fGUIMain = gui ; } JSFGUIFrame *GetGUIMain(){ return fGUIMain; } ClassDef(JSFEventDisplay, 1) // A class to display event }; #endif