#ifndef ROOT_TCurlyArc
#define ROOT_TCurlyArc
#ifndef ROOT_GuiTypes
#include "GuiTypes.h"
#endif
class TPoint;
#include "TCurlyLine.h"
class TCurlyArc : public TCurlyLine {
private:
Double_t fR1;
Double_t fPhimin;
Double_t fPhimax;
Double_t fTheta;
static Double_t fgDefaultWaveLength;
static Double_t fgDefaultAmplitude;
static Bool_t fgDefaultIsCurly;
public:
TCurlyArc();
TCurlyArc(Double_t x1, Double_t y1, Double_t rad,
Double_t phimin, Double_t phimax,
Double_t wl = .02, Double_t amp = .01);
virtual ~TCurlyArc(){;}
virtual void Build();
Int_t DistancetoPrimitive(Int_t px, Int_t py);
void ExecuteEvent(Int_t event, Int_t px, Int_t py);
Double_t GetRadius() const {return fR1;}
Double_t GetPhimin() const {return fPhimin;}
Double_t GetPhimax() const {return fPhimax;}
virtual void SetCenter(Double_t x1, Double_t y1);
virtual void SetRadius(Double_t radius);
virtual void SetPhimin(Double_t phimin);
virtual void SetPhimax(Double_t phimax);
virtual void SavePrimitive(std::ostream &out, Option_t * = "");
static void SetDefaultWaveLength(Double_t WaveLength);
static void SetDefaultAmplitude (Double_t Amplitude );
static void SetDefaultIsCurly (Bool_t IsCurly );
static Double_t GetDefaultWaveLength();
static Double_t GetDefaultAmplitude ();
static Bool_t GetDefaultIsCurly ();
virtual Rectangle_t GetBBox();
virtual TPoint GetBBoxCenter();
virtual void SetBBoxCenter(const TPoint &p);
virtual void SetBBoxCenterX(const Int_t x);
virtual void SetBBoxCenterY(const Int_t y);
virtual void SetBBoxX1(const Int_t x);
virtual void SetBBoxX2(const Int_t x);
virtual void SetBBoxY1(const Int_t y);
virtual void SetBBoxY2(const Int_t y);
ClassDef(TCurlyArc,3)
};
#endif