Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TCurlyArc.h
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Otto Schaile 20/11/99
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11#ifndef ROOT_TCurlyArc
12#define ROOT_TCurlyArc
13
14#include "TCurlyLine.h"
15
16class TPoint;
17
18class TCurlyArc : public TCurlyLine {
19
20private:
21 Double_t fR1; ///< Radius of arc
22 Double_t fPhimin; ///< start phi (degrees)
23 Double_t fPhimax; ///< end phi (degrees)
24 Double_t fTheta; ///< used internally
25
26 static Double_t fgDefaultWaveLength; ///< default wavelength
27 static Double_t fgDefaultAmplitude; ///< default amplitude
28 static Bool_t fgDefaultIsCurly; ///< default curly type
29
30public:
31 TCurlyArc();
33 Double_t phimin, Double_t phimax,
34 Double_t wl = .02, Double_t amp = .01);
35 virtual ~TCurlyArc(){;}
36 virtual void Build();
38 void ExecuteEvent(Int_t event, Int_t px, Int_t py);
39 Double_t GetRadius() const {return fR1;}
40 Double_t GetPhimin() const {return fPhimin;}
41 Double_t GetPhimax() const {return fPhimax;}
42 virtual void SetCenter(Double_t x1, Double_t y1); // *MENU* *ARGS={x1=>fX1,y1=>fY1}
43 virtual void SetRadius(Double_t radius); // *MENU* *ARGS={radius=>fR1}
44 virtual void SetPhimin(Double_t phimin); // *MENU* *ARGS={phimin=>fPhimin}
45 virtual void SetPhimax(Double_t phimax); // *MENU* *ARGS={phimax=>fPhimax}
46 virtual void SavePrimitive(std::ostream &out, Option_t * = "");
47
48 static void SetDefaultWaveLength(Double_t WaveLength);
49 static void SetDefaultAmplitude (Double_t Amplitude );
50 static void SetDefaultIsCurly (Bool_t IsCurly );
53 static Bool_t GetDefaultIsCurly ();
54 virtual Rectangle_t GetBBox();
55 virtual TPoint GetBBoxCenter();
56 virtual void SetBBoxCenter(const TPoint &p);
57 virtual void SetBBoxCenterX(const Int_t x);
58 virtual void SetBBoxCenterY(const Int_t y);
59 virtual void SetBBoxX1(const Int_t x);
60 virtual void SetBBoxX2(const Int_t x);
61 virtual void SetBBoxY1(const Int_t y);
62 virtual void SetBBoxY2(const Int_t y);
63
64 ClassDef(TCurlyArc,3) // A curly arc
65};
66
67#endif
68
static const double x1[5]
int Int_t
Definition RtypesCore.h:45
bool Bool_t
Definition RtypesCore.h:63
double Double_t
Definition RtypesCore.h:59
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:325
Implements curly or wavy arcs used to draw Feynman diagrams.
Definition TCurlyArc.h:18
virtual void SetBBoxX2(const Int_t x)
Set right hand side of BoundingBox to a value (resize in x direction on right)
virtual TPoint GetBBoxCenter()
Return the center of the BoundingBox as TPoint in pixels.
Double_t GetPhimax() const
Definition TCurlyArc.h:41
virtual void Build()
Create a curly (Gluon) or wavy (Gamma) arc.
Definition TCurlyArc.cxx:75
virtual void SetRadius(Double_t radius)
Set Curly Arc radius.
static Bool_t GetDefaultIsCurly()
Get default "IsCurly".
virtual void SavePrimitive(std::ostream &out, Option_t *="")
Save primitive as a C++ statement(s) on output stream out.
virtual void SetPhimin(Double_t phimin)
Set Curly Arc minimum Phi.
Double_t fTheta
used internally
Definition TCurlyArc.h:24
static Double_t GetDefaultWaveLength()
Get default wave length.
virtual void SetBBoxY2(const Int_t y)
Set bottom of BoundingBox to a value (resize in y direction on bottom)
virtual void SetCenter(Double_t x1, Double_t y1)
Set Curly Arc center.
Double_t fPhimax
end phi (degrees)
Definition TCurlyArc.h:23
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
Double_t GetRadius() const
Definition TCurlyArc.h:39
TCurlyArc()
Default constructor.
Definition TCurlyArc.cxx:45
Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to an arc.
static Double_t fgDefaultWaveLength
default wavelength
Definition TCurlyArc.h:26
static void SetDefaultWaveLength(Double_t WaveLength)
Set default wave length.
static void SetDefaultAmplitude(Double_t Amplitude)
Set default wave amplitude.
Double_t fPhimin
start phi (degrees)
Definition TCurlyArc.h:22
Double_t fR1
Radius of arc.
Definition TCurlyArc.h:21
virtual void SetBBoxY1(const Int_t y)
Set top of BoundingBox to a value (resize in y direction on top)
static Double_t fgDefaultAmplitude
default amplitude
Definition TCurlyArc.h:27
virtual void SetBBoxCenter(const TPoint &p)
Set center of the BoundingBox.
static Double_t GetDefaultAmplitude()
Get default wave amplitude.
static void SetDefaultIsCurly(Bool_t IsCurly)
Set default "IsCurly".
virtual void SetBBoxCenterY(const Int_t y)
Set Y coordinate of the center of the BoundingBox.
static Bool_t fgDefaultIsCurly
default curly type
Definition TCurlyArc.h:28
virtual Rectangle_t GetBBox()
Return the bounding Box of the Line.
virtual void SetBBoxCenterX(const Int_t x)
Set X coordinate of the center of the BoundingBox.
Double_t GetPhimin() const
Definition TCurlyArc.h:40
virtual void SetBBoxX1(const Int_t x)
Set left hand side of BoundingBox to a value (resize in x direction on left)
virtual void SetPhimax(Double_t phimax)
Set Curly Arc maximum Phi.
virtual ~TCurlyArc()
Definition TCurlyArc.h:35
Implements curly or wavy polylines used to draw Feynman diagrams.
Definition TCurlyLine.h:19
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
Rectangle structure (maps to the X11 XRectangle structure)
Definition GuiTypes.h:361