ROOT
6.06/09
Reference Guide
ROOT Home Page
Main Page
Related Pages
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
graf3d
g3d
src
TPGON.cxx
Go to the documentation of this file.
1
// @(#)root/g3d:$Id$
2
// Author: Nenad Buncic 29/09/95
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
12
#include "
TPGON.h
"
13
#include "
TMath.h
"
14
15
ClassImp
(
TPGON
)
16
17
/** \class TPGON
18
\ingroup g3d
19
A polygon.
20
21
\image html g3d_pgon.png
22
23
It has the following parameters:
24
25
- name: name of the shape
26
- title: shape's title
27
- material: (see TMaterial)
28
- phi1: the azimuthal angle &phi at which the volume begins (angles
29
are counted counterclockwise)
30
- dphi1: opening angle of the volume, which extends from phi1 to
31
phi1+dphi
32
- npdv: number of sides of the cross section between the given
33
phi limits
34
- nz: number of planes perpendicular to the z axis where
35
the dimension of the section is given -- this number
36
should be at least 2
37
- rmin: array of dimension nz with minimum radius at a given plane
38
- rmax: array of dimension nz with maximum radius at a given plane
39
- z: array of dimension nz with z position of given plane
40
*/
41
42
////////////////////////////////////////////////////////////////////////////////
43
/// PGON shape default constructor.
44
45
TPGON
::
TPGON
()
46
{
47
}
48
49
////////////////////////////////////////////////////////////////////////////////
50
/// PGON shape normal constructor.
51
///
52
/// Parameters of the nz positions must be entered via TPCON::DefineSection.
53
54
TPGON::TPGON
(
const
char
*
name
,
const
char
*title,
const
char
*material,
Float_t
phi1,
55
Float_t
dphi1,
Int_t
npdv,
Int_t
nz)
56
:
TPCON
(name, title,material, phi1, dphi1, nz)
57
{
58
SetNumberOfDivisions
(npdv);
59
}
60
61
////////////////////////////////////////////////////////////////////////////////
62
/// PGON shape default destructor.
63
64
TPGON::~TPGON
()
65
{
66
}
67
68
////////////////////////////////////////////////////////////////////////////////
69
/// Fill the table of cos and sin to prepare drawing
70
71
void
TPGON::FillTableOfCoSin
(
Double_t
phi,
Double_t
angstep,
Int_t
n
)
const
72
{
73
Double_t
factor = 1./
TMath::Cos
(angstep/2);
74
Double_t
ph = phi-angstep;
75
for
(
Int_t
j = 0; j <
n
; j++) {
76
ph += angstep;
77
fCoTab
[j] = factor*
TMath::Cos
(ph);
78
fSiTab
[j] = factor*
TMath::Sin
(ph);
79
}
80
}
TPGON::FillTableOfCoSin
virtual void FillTableOfCoSin(Double_t phi, Double_t angstep, Int_t n) const
Fill the table of cos and sin to prepare drawing.
Definition:
TPGON.cxx:71
Float_t
float Float_t
Definition:
RtypesCore.h:53
Int_t
int Int_t
Definition:
RtypesCore.h:41
TPGON::~TPGON
virtual ~TPGON()
PGON shape default destructor.
Definition:
TPGON.cxx:64
TPGON.h
TPCON::fCoTab
Double_t * fCoTab
Table of sin(fPhi1) .... sin(fPhil+fDphi1)
Definition:
TPCON.h:39
TMath::Cos
Double_t Cos(Double_t)
Definition:
TMath.h:424
TPCON
A polycone.
Definition:
TPCON.h:35
TPGON
A polygon.
Definition:
TPGON.h:32
ClassImp
#define ClassImp(name)
Definition:
Rtypes.h:279
TPCON::SetNumberOfDivisions
virtual void SetNumberOfDivisions(Int_t p)
Set number of divisions.
Definition:
TPCON.cxx:213
TPCON::fSiTab
Double_t * fSiTab
Definition:
TPCON.h:38
Double_t
double Double_t
Definition:
RtypesCore.h:55
name
#define name(a, b)
Definition:
linkTestLib0.cpp:5
TMath::Sin
Double_t Sin(Double_t)
Definition:
TMath.h:421
TMath.h
n
const Int_t n
Definition:
legend1.C:16
TPGON::TPGON
TPGON()