/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/EventDisplay/BesVisLib/BesVisLib-00-04-04/BesVisLib/Tof2DScin.h

Go to the documentation of this file.
00001 
00002 #ifndef TOF_2D_SCIN_H
00003 #define TOF_2D_SCIN_H
00004 
00005 #include <vector>
00006 #include <TNamed.h>
00007 #include <TAttLine.h>
00008 #include <TAttFill.h>
00009 #include <TPaveLabel.h>
00010 #include <TPaveText.h>
00011 #include <TVector3.h>
00012 
00013 #include "BesCircle2D.h"
00014 #include "BesPolygon2D.h"
00015 #include "BesMarker2D.h"
00016 #include "BesPaveText.h"
00017 
00018 class Tof2DScin : public TNamed, public TAttLine, public TAttFill
00019 {
00020  public:
00021   
00022   Tof2DScin();
00023   Tof2DScin(const char* name, const char* title, Int_t N, Double_t *P, Int_t part);
00024   ~Tof2DScin();
00025 
00026   virtual void  SetStyle();
00027   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
00028   virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
00029 
00030   virtual void  SetHighlighted(bool status = true) { fHighlighted = status; }
00031   virtual void  SetFired(bool status = true) { fFired = status; }
00032   virtual bool  IsHighlighted() { return fHighlighted; }
00033   virtual bool  IsFired() { return fFired; }
00034 
00035   virtual void  AddInfo(TString info) { fInfoCon.push_back(info); }
00036   virtual void  CloseInfo();
00037   virtual void  ClearInfo();
00038 
00039   virtual void  SetTime(Double_t time) { fTime = time; }
00040   virtual void  SetCharge(Double_t charge) { fCharge = charge; }
00041   virtual Double_t GetTime()   { return fTime; }
00042   virtual Double_t GetCharge() { return fCharge; }
00043   virtual void  ResetTimeCharge() { fTime = 0.0; fCharge = 0.0; }
00044 
00045   virtual void  Draw(Option_t *option = "");
00046   virtual void  Paint(Option_t *option = "");
00047   virtual char *GetObjectInfo(Int_t px, Int_t py) const;
00048   
00049   virtual Int_t GetPart() { return fPart; }
00050   virtual bool  HasZRSection();
00051   Double_t GetAngle(Double_t x, Double_t y); // degree, 0~360
00052   Double_t Range360(Double_t input);
00053 
00054  private:
00055 
00056   Int_t         fPart;
00057   BesPolygon2D *fScinXY;
00058   BesPolygon2D *fScinZR;
00059   BesPolygon2D *fScinXYFired;
00060   BesPolygon2D *fScinZRFired;
00061 
00062   static const Int_t fChargeMax = 50; 
00063   Double_t fTime, fCharge;
00064 
00065   Double_t fZRSectionTolerance[3];  // to avoid on zrSection nothing drawn sometimes
00066   Double_t fPhiMin, fPhiMax;
00067   
00068   std::vector<TString> fInfoCon;
00069   BesPaveText *fTip;
00070   bool fHighlighted;
00071   bool fFired;
00072   
00073   // style
00074   Int_t lcScin;
00075   Int_t lwScin;
00076   Int_t fcScin;
00077   Int_t fsScin;
00078 
00079   Int_t lcScinFired;
00080   Int_t lwScinFired;
00081   Int_t fcScinFired;
00082   Int_t fsScinFired;
00083 
00084   Int_t lcScinHL;
00085   Int_t lwScinHL;
00086   Int_t fcScinHL;
00087   Int_t fsScinHL;
00088 
00089   Int_t lcScinFiredHL;
00090   Int_t lwScinFiredHL;
00091   Int_t fcScinFiredHL;
00092   Int_t fsScinFiredHL;
00093 
00094   ClassDef(Tof2DScin,1) // Tof 2D Scin
00095 
00096 };
00097 
00098 #endif

Generated on Tue Nov 29 23:12:04 2016 for BOSS_7.0.2 by  doxygen 1.4.7