00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ROOT_TCurlyArc
00012 #define ROOT_TCurlyArc
00013
00014
00015
00016
00017
00018 #include "TCurlyLine.h"
00019
00020 class TCurlyArc : public TCurlyLine {
00021
00022 private:
00023 Double_t fR1;
00024 Double_t fPhimin;
00025 Double_t fPhimax;
00026 Double_t fTheta;
00027
00028 static Double_t fgDefaultWaveLength;
00029 static Double_t fgDefaultAmplitude;
00030 static Bool_t fgDefaultIsCurly;
00031
00032 public:
00033 TCurlyArc(){;}
00034 TCurlyArc(Double_t x1, Double_t y1, Double_t rad,
00035 Double_t phimin, Double_t phimax,
00036 Double_t wl = .02, Double_t amp = .01);
00037 virtual ~TCurlyArc(){;}
00038 virtual void Build();
00039 Int_t DistancetoPrimitive(Int_t px, Int_t py);
00040 void ExecuteEvent(Int_t event, Int_t px, Int_t py);
00041 Double_t GetRadius() const {return fR1;}
00042 Double_t GetPhimin() const {return fPhimin;}
00043 Double_t GetPhimax() const {return fPhimax;}
00044 virtual void SetCenter(Double_t x1, Double_t y1);
00045 virtual void SetRadius(Double_t radius);
00046 virtual void SetPhimin(Double_t phimin);
00047 virtual void SetPhimax(Double_t phimax);
00048 virtual void SavePrimitive(ostream &out, Option_t * = "");
00049
00050 static void SetDefaultWaveLength(Double_t WaveLength);
00051 static void SetDefaultAmplitude (Double_t Amplitude );
00052 static void SetDefaultIsCurly (Bool_t IsCurly );
00053 static Double_t GetDefaultWaveLength();
00054 static Double_t GetDefaultAmplitude ();
00055 static Bool_t GetDefaultIsCurly ();
00056
00057 ClassDef(TCurlyArc,2)
00058 };
00059
00060 #endif
00061