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

Go to the documentation of this file.
00001 
00002 #ifndef MDC_2D_WIRE_H
00003 #define MDC_2D_WIRE_H
00004 
00005 #include <TNamed.h>
00006 #include <TAttLine.h>
00007 #include <TAttFill.h>
00008 #include <TPaveLabel.h>
00009 #include <TPaveText.h>
00010 #include <TVector3.h>
00011 
00012 #include "BesCircle2D.h"
00013 #include "BesPolygon2D.h"
00014 #include "BesMarker2D.h"
00015 #include "BesPaveText.h"
00016 
00017 class Mdc2DWire : public TNamed, public TAttLine, public TAttFill
00018 {
00019  public:
00020   
00021   Mdc2DWire();
00022   Mdc2DWire(const char* name, const char* title, Double_t rmin, Double_t rmax, Double_t dz,
00023             Double_t phi, Double_t *center );
00024   Mdc2DWire(const char* name, const char* title, Int_t N, Double_t *P);
00025   ~Mdc2DWire();
00026 
00027   virtual void  Init();
00028   virtual void  SetStyle();
00029   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
00030   virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
00031 
00032   virtual void  SetHighlighted(bool status = true) { fHighlighted = status; }
00033   virtual void  SetFired(bool status = true) { fFired = status; }
00034   virtual bool  IsHighlighted() { return fHighlighted; }
00035   virtual bool  IsFired() { return fFired; }
00036 
00037   virtual void  AddInfo(TString info) { fInfoCon.push_back(info); }
00038   virtual void  CloseInfo();
00039   virtual void  ClearInfo();
00040 
00041   virtual void  Draw(Option_t *option = "");
00042   virtual void  Paint(Option_t *option = "");
00043   virtual char *GetObjectInfo(Int_t px, Int_t py) const;
00044 
00045   virtual bool  HasZRSection();
00046   Double_t Range360(Double_t input);
00047   void SetTime(Double_t time); 
00048   void SetCharge(Double_t charge); 
00049   void SetColorfulWire(Bool_t colorfulWire, Bool_t subEvTime); 
00050   void SetQOverflow(Bool_t qOvfl);
00051   void SetEvTime(Double_t time);
00052 
00053  private:
00054 
00055   Int_t       fWireType; // 1: Axial wire  2: Stereo wire
00056 
00057   BesPolygon2D *fTube;
00058   BesCircle2D  *fWireCircle;
00059   BesPolygon2D *fWireCone;
00060   BesMarker2D  *fZRPosMarker2D; 
00061 
00062   Double_t fWestHole[3], fEastHole[3];
00063   Double_t fWestPhi, fEastPhi;
00064   Double_t fZRSectionPos[3];
00065   Bool_t   fZRSectionFlag;
00066 
00067   std::vector<TString> fInfoCon;
00068   BesPaveText *fTip;
00069   Bool_t fHighlighted;
00070   Bool_t fFired;
00071   Bool_t fColorfulWire;
00072   Bool_t qOverflow;
00073 
00074   // style
00075   Int_t lcTube;
00076   Int_t lwTube;
00077   Int_t fcTube;
00078   Int_t fsTube;
00079 
00080   Int_t lcWire;
00081   Int_t lwCircle;
00082   Int_t lwCone;
00083   Int_t fcCircle;
00084   Int_t fcCone;
00085   Int_t fsCircle;
00086   Int_t fsCone; 
00087 
00088   Int_t lcWireFired;
00089   Int_t lwCircleFired;
00090   Int_t lwConeFired;
00091   Int_t fcCircleFired;
00092   Int_t fcConeFired;
00093   Int_t fsCircleFired;
00094   Int_t fsConeFired;
00095 
00096   Int_t lcWireHL;
00097   Int_t lwCircleHL;
00098   Int_t lwConeHL;
00099   Int_t fcCircleHL;
00100   Int_t fcConeHL;
00101   Int_t fsCircleHL;
00102   Int_t fsConeHL;
00103 
00104   Int_t sizeMarker;
00105   Int_t cMarker;
00106   Int_t cMarkerFired;
00107   Int_t cMarkerHL;
00108   Int_t sMarker; 
00109   Int_t sMarkerFired;
00110   Int_t sMarkerHL;
00111 
00112   Double_t mdcTime;
00113   Double_t mdcCharge;
00114   Double_t evTime; 
00115 
00116   ClassDef(Mdc2DWire,1) // Mdc 2D Wire
00117 };
00118 
00119 #endif

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