TCurlyArc
class description - source file - inheritance tree
public:
TCurlyArc TCurlyArc()
TCurlyArc TCurlyArc(Double_t x1, Double_t y1, Double_t rad, Double_t phimin, Double_t phimax, Double_t tl = .05, Double_t trad = .02)
TCurlyArc TCurlyArc(const TCurlyArc&)
virtual void ~TCurlyArc()
virtual void Build()
static TClass* Class()
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Double_t GetPhimax() const
Double_t GetPhimin() const
Double_t GetRadius() const
virtual TClass* IsA() const
virtual void SavePrimitive(ofstream& out, Option_t*)
virtual void SetCenter(Double_t x1, Double_t y1)
virtual void SetPhimax(Double_t phimax)
virtual void SetPhimin(Double_t phimin)
virtual void SetRadius(Double_t radius)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
Double_t fR1 Radius of arc
Double_t fPhimin start phi (degrees)
Double_t fPhimax end phi (degrees)
Double_t fTheta used internally
This class implements curly or wavy arcs typically used to draw Feynman diagrams.
Amplitudes and wavelengths may be specified in the constructors,
via commands or interactively from popup menus.
The class make use of TCurlyLine by inheritance, ExecuteEvent methods
are highly inspired from the methods used in TPolyLine and TArc.
The picture below has been generated by the tutorial feynman.
/*
*/
________________________________________________________________________
TCurlyArc(Double_t x1, Double_t y1,
Double_t rad, Double_t phimin, Double_t phimax,
Double_t tl, Double_t trad)
: fR1(rad), fPhimin(phimin),fPhimax(phimax)
create a new TCurlyarc with center (x1, y1) and radius rad.
The wavelength and amplitude are given in percent of the line length
phimin and phimax are given in degrees.
void Build()
*-*-*-*-*-*-*-*-*-*-*Create a curly (Gluon) or wavy (Gamma) arc*-*-*-*-*-*
*-* ===========================================
Int_t DistancetoPrimitive(Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*-*-*Compute distance from point px,py to an arc*-*-*-*
*-* ===========================================
Compute the closest distance of approach from point px,py to this arc.
The distance is computed in pixels units.
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
*-* =========================================
This member function is called when a TCurlyArc is clicked with the locator
If Left button clicked on one of the line end points, this point
follows the cursor until button is released.
if Middle button clicked, the line is moved parallel to itself
until the button is released.
void SavePrimitive(ofstream &out, Option_t *)
Save primitive as a C++ statement(s) on output stream out
void SetCenter(Double_t x, Double_t y)
void SetRadius(Double_t x)
void SetPhimin(Double_t x)
void SetPhimax(Double_t x)
Inline Functions
TCurlyArc TCurlyArc(Double_t x1, Double_t y1, Double_t rad, Double_t phimin, Double_t phimax, Double_t tl = .05, Double_t trad = .02)
Double_t GetRadius() const
Double_t GetPhimin() const
Double_t GetPhimax() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TCurlyArc TCurlyArc(const TCurlyArc&)
void ~TCurlyArc()
Author: Otto Schaile 20/11/99
Last update: root/graf:$Name: $:$Id: TCurlyArc.cxx,v 1.4 2002/01/24 11:39:28 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.