TCurlyArc.h

Go to the documentation of this file.
00001 // @(#)root/graf:$Id: TCurlyArc.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Otto Schaile   20/11/99
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 #ifndef ROOT_TCurlyArc
00012 #define ROOT_TCurlyArc
00013 
00014 //
00015 // This class implements a curly or wavy arc typically used
00016 // to draw Feynman diagrams.
00017 
00018 #include "TCurlyLine.h"
00019 
00020 class TCurlyArc : public TCurlyLine {
00021 
00022 private:
00023    Double_t fR1;                  //  Radius of arc
00024    Double_t fPhimin;              //  start phi (degrees)
00025    Double_t fPhimax;              //  end phi (degrees)
00026    Double_t fTheta;               //  used internally
00027 
00028    static Double_t fgDefaultWaveLength;   //default wavelength 
00029    static Double_t fgDefaultAmplitude;    //default amplitude
00030    static Bool_t   fgDefaultIsCurly;      //default curly type
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); // *MENU* *ARGS={x1=>fX1,y1=>fY1}
00045    virtual void SetRadius(Double_t radius);          // *MENU* *ARGS={radius=>fR1}
00046    virtual void SetPhimin(Double_t phimin);          // *MENU* *ARGS={phimin=>fPhimin}
00047    virtual void SetPhimax(Double_t phimax);          // *MENU* *ARGS={phimax=>fPhimax}
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) // A curly arc
00058 };
00059 
00060 #endif
00061 

Generated on Tue Jul 5 14:14:08 2011 for ROOT_528-00b_version by  doxygen 1.5.1