This class is a base class for the ITS geometry version 11. It contains common/standard functions used in many places in defining the ITS geometry, version 11. Large posions of the ITS geometry, version 11, should be derived from this class so as to make maximum use of these common functions. This class also defines the proper conversion valuse such, to cm and degrees, such that the most usefull units, those used in the Engineering drawings, can be used.
AliITSv11Geometry() | |
AliITSv11Geometry(Int_t debug) | |
AliITSv11Geometry(const AliITSv11Geometry&) | |
virtual | ~AliITSv11Geometry() |
void | TObject::AbstractMethod(const char* method) const |
Bool_t | AngleOfIntersectionWithLine(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t xc, Double_t yc, Double_t rc, Double_t& t0, Double_t& t1) const |
void | AnglesForRoundedCorners(Double_t x0, Double_t y0, Double_t r0, Double_t x1, Double_t y1, Double_t r1, Double_t& t0, Double_t& t1) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
Double_t | CosD(Double_t deg) const |
void | CreateDefaultMaterials() |
virtual void | CreateMaterials() |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
void | DrawCrossSection(const TGeoPcon* p, Int_t fillc = 7, Int_t fills = 4050, Int_t linec = 3, Int_t lines = 1, Int_t linew = 4, Int_t markc = 2, Int_t marks = 4, Float_t marksize = 1.0) const |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Bool_t | GetDebug(Int_t level = 1) const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
void | InsidePoint(const TGeoPcon* p, Int_t i1, Int_t i2, Int_t i3, Double_t Cthick, TGeoPcon* q, Int_t j1, Bool_t max) const |
void | InsidePoint(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t c, Double_t& x, Double_t& y) const |
virtual void | TObject::Inspect() constMENU |
static Bool_t | IntersectCircle(Double_t m, Double_t x0, Double_t y0, Double_t rr, Double_t xc, Double_t yc, Double_t& xi1, Double_t& yi1, Double_t& xi2, Double_t& yi2) |
void | IntersectLines(Double_t m, Double_t x0, Double_t y0, Double_t n, Double_t x1, Double_t y1, Double_t& xi, Double_t& yi) const |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | MakeFigure1(Double_t x0 = 0.0, Double_t y0 = 0.0, Double_t r0 = 2.0, Double_t x1 = -4.0, Double_t y1 = -2.0, Double_t r1 = 1.0) |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
AliITSv11Geometry& | operator=(const AliITSv11Geometry&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
void | PrintArb8(const TGeoArb8* a) const |
void | PrintBBox(const TGeoBBox* a) const |
void | PrintConeSeg(const TGeoConeSeg* a) const |
void | PrintPcon(const TGeoPcon* a) const |
void | PrintTube(const TGeoTube* a) const |
void | PrintTubeSeg(const TGeoTubeSeg* a) const |
void | RadiusOfCurvature(Double_t rc, Double_t theta0, Double_t z0, Double_t r0, Double_t theta1, Double_t& z1, Double_t& r1) const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
Double_t | RFrom2Points(const Double_t* ar, const Double_t* az, Int_t i1, Int_t i2, Double_t z) const |
Double_t | RFromZpCone(const Double_t* ar, const Double_t* az, int ip, Double_t tc, Double_t z, Double_t th = 0.0) const |
Double_t | RmaxFrom2Points(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t z) const |
Double_t | RmaxFromZpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t z, Double_t th = 0.0) const |
Double_t | RminFrom2Points(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t z) const |
Double_t | RminFromZpCone(const TGeoPcon* p, Int_t ip, Double_t tc, Double_t z, Double_t th = 0.0) const |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDebug(Int_t level = 5) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetNoDebug() |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
Double_t | SinD(Double_t deg) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Double_t | TanD(Double_t deg) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
Double_t | Xfrom2Points(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t y) const |
Double_t | Yfrom2Points(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x) const |
Double_t | Zfrom2MaxPoints(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t r) const |
Double_t | Zfrom2MinPoints(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t r) const |
Double_t | Zfrom2Points(const Double_t* az, const Double_t* ar, Int_t i1, Int_t i2, Double_t r) const |
Double_t | ZFromRmaxpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t r, Double_t th = 0.0) const |
Double_t | ZFromRmaxpCone(const Double_t* ar, const Double_t* az, Int_t ip, Double_t tc, Double_t r, Double_t th = 0.0) const |
Double_t | ZFromRminpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t r, Double_t th = 0.0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
Double_t | AngleForRoundedCorners0(Double_t dx, Double_t dy, Double_t sdr) const |
Double_t | AngleForRoundedCorners1(Double_t dx, Double_t dy, Double_t sdr) const |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
static const Double_t | fgkCelsius | Temperature in degrees Celcius |
static const Double_t | fgkDegree | Convert degrees to TGeom's degrees |
static const Double_t | fgkGeV | Energy in GeV |
static const Double_t | fgkKPascal | Preasure in KPascal |
static const Double_t | fgkKeV | Energy in KeV |
static const Double_t | fgkKgdm3 | Density in kg/dm^3 |
static const Double_t | fgkKgm3 | Density in kg/m^3 |
static const Double_t | fgkMeV | Energy in MeV |
static const Double_t | fgkPascal | Preasure in Pascal |
static const Double_t | fgkRadian | To Radians |
static const Double_t | fgkcm | Convert cm to TGeom's cm. |
static const Double_t | fgkeV | Energy in eV |
static const Double_t | fgkgcm3 | Density in g/cm^3 |
static const Double_t | fgkmicron | Convert micron to TGeom's cm. |
static const Double_t | fgkmm | Convert mm to TGeom's cm. |
Int_t | fDebug | ! Debug flag/level |
Inheritance Chart: | |||||||||||||||||||||||||||
|
Given the two lines, one passing by (x0,y0) with slope m and the other passing by (x1,y1) with slope n, returns the coordinates of the intersecting point (xi,yi) Inputs: Double_t m The slope of the first line Double_t x0,y0 The x and y coord. of the first point Double_t n The slope of the second line Double_t x1,y1 The x and y coord. of the second point Outputs: The coordinates xi and yi of the intersection point Return: none. Created: 14 Dec 2009 Mario Sitta
Given a lines passing by (x0,y0) with slope m and a circle with radius rr and center (xc,yc), returns the coordinates of the intersecting points (xi1,yi1) and (xi2,yi2) (xi1 > xi2) Inputs: Double_t m The slope of the line Double_t x0,y0 The x and y coord. of the point Double_t rr The radius of the circle Double_t xc,yc The x and y coord. of the center of circle Outputs: The coordinates xi and yi of the intersection points Return: kFALSE if the line does not intercept the circle, otherwise kTRUE Created: 18 Dec 2009 Mario Sitta
Given the two points (x0,y0) and (x1,y1) and the location x, returns the value y corresponding to that point x on the line defined by the two points. Inputs: Double_t x0 The first x value defining the line Double_t y0 The first y value defining the line Double_t x1 The second x value defining the line Double_t y1 The second y value defining the line Double_t x The x value for which the y value is wanted. Outputs: none. Return: The value y corresponding to the point x on the line defined by the two points (x0,y0) and (x1,y1).
Given the two points (x0,y0) and (x1,y1) and the location y, returns the value x corresponding to that point y on the line defined by the two points. Inputs: Double_t x0 The first x value defining the line Double_t y0 The first y value defining the line Double_t x1 The second x value defining the line Double_t y1 The second y value defining the line Double_t y The y value for which the x value is wanted. Outputs: none. Return: The value x corresponding to the point y on the line defined by the two points (x0,y0) and (x1,y1).
functions Require at parts of Volume A to be already defined. Retruns the value of Rmax corresponding to point z alone the line defined by the two points p.Rmax(i1),p-GetZ(i1) and p->GetRmax(i2), p->GetZ(i2). Inputs: TGeoPcon *p The Polycone where the two points come from Int_t i1 Point 1 Int_t i2 Point 2 Double_t z The value of z for which Rmax is to be found Outputs: none. Return: Double_t Rmax the value corresponding to z
Retruns the value of Rmin corresponding to point z alone the line defined by the two points p->GetRmin(i1),p->GetZ(i1) and p->GetRmin(i2), p->GetZ(i2). Inputs: TGeoPcon *p The Polycone where the two points come from Int_t i1 Point 1 Int_t i2 Point 2 Double_t z The value of z for which Rmax is to be found Outputs: none. Return: Double_t Rmax the value corresponding to z
Retruns the value of Rmin corresponding to point z alone the line defined by the two points p->GetRmin(i1),p->GetZ(i1) and p->GetRmin(i2), p->GetZ(i2). Inputs: Double_t az Array of z values Double_t r Array of r values Int_t i1 First Point in arrays Int_t i2 Second Point in arrays Double_t z Value z at which r is to be found Outputs: none. Return: The value r corresponding to z and the line defined by the two points
Retruns the value of Z corresponding to point R alone the line defined by the two points p->GetRmin(i1),p->GetZ(i1) and p->GetRmin(i2),p->GetZ(i2) Inputs: TGeoPcon *p The Poly cone where the two points come from. Int_t i1 First Point in arrays Int_t i2 Second Point in arrays Double_t r Value r min at which z is to be found Outputs: none. Return: The value z corresponding to r min and the line defined by the two points
Retruns the value of Z corresponding to point R alone the line defined by the two points p->GetRmax(i1),p->GetZ(i1) and p->GetRmax(i2),p->GetZ(i2) Inputs: TGeoPcon *p The Poly cone where the two points come from. Int_t i1 First Point in arrays Int_t i2 Second Point in arrays Double_t r Value r max at which z is to be found Outputs: none. Return: The value z corresponding to r max and the line defined by the two points
Retruns the value of z corresponding to point R alone the line defined by the two points p->GetRmax(i1),p->GetZ(i1) and p->GetRmax(i2),p->GetZ(i2) Inputs: Double_t z Array of z values Double_t ar Array of r values Int_t i1 First Point in arrays Int_t i2 Second Point in arrays Double_t r Value r at which z is to be found Outputs: none. Return: The value z corresponding to r and the line defined by the two points
General Outer Cone surface equation Rmax. Intputs: TGeoPcon *p The poly cone where the initial point comes from Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t z The value of z to compute Rmax from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value Rmax correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmin[ip] at the location z.
General Cone surface equation R(z). Intputs: Double_t ar The array of R values Double_t az The array of Z values Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t z The value of z to compute R from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value R correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmax[ip] at the locatin z.
General Inner Cone surface equation Rmin. Intputs: TGeoPcon *p The poly cone where the initial point comes from Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t z The value of z to compute Rmin from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value Rmin correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmin[ip] at the location z.
General Outer cone Surface equation for z. Intputs: TGeoPcon *p The poly cone where the initial point comes from Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t r The value of Rmax to compute z from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value Z correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmax[ip] at the location r.
General Outer cone Surface equation for z. Intputs: Double_t ar The array of R values Double_t az The array of Z values Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t r The value of Rmax to compute z from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value Z correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmax[ip] at the locatin r.
General Inner cone Surface equation for z. Intputs: TGeoPcon *p The poly cone where the initial point comes from Int_t ip The index in p to get the point location Double_t tc The angle of that part of the cone is at Double_t r The value of Rmin to compute z from Double_t th The perpendicular distance the parralell line is from the point ip. Outputs: none. Return: The value Z correstponding to the line at angle th, offeset by th, and the point p->GetZ/Rmin[ip] at the location r.
Given a initial point z0,r0, the initial angle theta0, and the radius of curvature, returns the point z1, r1 at the angle theta1. Theta measured from the r axis in the clock wise direction [degrees]. Inputs: Double_t rc The radius of curvature Double_t theta0 The starting angle (degrees) Double_t z0 The value of z at theta0 Double_t r0 The value of r at theta0 Double_t theta1 The ending angle (degrees) Outputs: Double_t &z1 The value of z at theta1 Double_t &r1 The value of r at theta1 Return: none.
Given two lines defined by the points i1, i2,i3 in the TGeoPcon class p that intersect at point p->GetZ(i2) return the point z,r that is Cthick away in the TGeoPcon class q. If points i1=i2 and max == kTRUE, then p->GetRmin(i1) and p->GetRmax(i2) are used. if points i2=i3 and max=kTRUE then points p->GetRmax(i2) and p->GetRmin(i3) are used. If i2=i3 and max=kFALSE, then p->GetRmin(i2) and p->GetRmax(i3) are used. Inputs: TGeoPcon *p Class where points i1, i2, and i3 are taken from Int_t i1 First point in class p Int_t i2 Second point in class p Int_t i3 Third point in class p Double_t c Distance inside the outer surface/inner suface that the point j1 is to be computed for. TGeoPcon *q Pointer to class for results to be put into. Int_t j1 Point in class q where data is to be stored. Bool_t max if kTRUE, then a Rmax value is computed, else a Rmin valule is computed. Output: TGeoPcon *q Pointer to class for results to be put into. Return: none.
Given two intersecting lines defined by the points (x0,y0), (x1,y1) and (x1,y1), (x2,y2) {intersecting at (x1,y1)} the point (x,y) a distance c away is returned such that two lines a distance c away from the lines defined above intersect at (x,y). Inputs: Double_t x0 X point on the first intersecting sets of lines Double_t y0 Y point on the first intersecting sets of lines Double_t x1 X point on the first/second intersecting sets of lines Double_t y1 Y point on the first/second intersecting sets of lines Double_t x2 X point on the second intersecting sets of lines Double_t y2 Y point on the second intersecting sets of lines Double_t c Distance the two sets of lines are from each other Output: Double_t x X point for the intersecting sets of parellel lines Double_t y Y point for the intersecting sets of parellel lines Return: none.
Prints out the content of the TGeoTube. Usefull for debugging. Inputs: TGeoTube *a Outputs: none. Return: none.
Prints out the content of the TGeoTubeSeg. Usefull for debugging. Inputs: TGeoTubeSeg *a Outputs: none. Return: none.
Prints out the content of the TGeoConeSeg. Usefull for debugging. Inputs: TGeoConeSeg *a Outputs: none. Return: none.
Prints out the content of the TGeoBBox. Usefull for debugging. Inputs: TGeoBBox *a Outputs: none. Return: none.
Create ITS materials Defined media here should correspond to the one defined in galice.cuts File which is red in (AliMC*) fMCApp::Init() { ReadTransPar(); } Inputs: none. Outputs: none. Return: none.
Draws a cross sectional view of the TGeoPcon, Primarily for debugging. A TCanvas should exist first. Inputs: TGeoPcon *p The TGeoPcon to be "drawn" Int_t fillc The fill color to be used Int_t fills The fill style to be used Int_t linec The line color to be used Int_t lines The line style to be used Int_t linew The line width to be used Int_t markc The markder color to be used Int_t marks The markder style to be used Float_t marksize The marker size Outputs: none. Return: none.
Computes the angles, t0 and t1 corresponding to the intersection of the line, defined by {x0,y0} {x1,y1}, and the circle, defined by its center {xc,yc} and radius r. If the line does not intersect the line, function returns kFALSE, otherwise it returns kTRUE. If the line is tangent to the circle, the angles t0 and t1 will be the same. Inputs: Double_t x0 X of first point defining the line Double_t y0 Y of first point defining the line Double_t x1 X of Second point defining the line Double_t y1 Y of Second point defining the line Double_t xc X of Circle center point defining the line Double_t yc Y of Circle center point defining the line Double_t r radius of circle Outputs: Double_t &t0 First angle where line intersects circle Double_t &t1 Second angle where line intersects circle Return: kTRUE, line intersects circle, kFALSE line does not intersect circle or the line is not properly defined point {x0,y0} and {x1,y1} are the same point.
Basic function used to determine the ending angle and starting angles for rounded corners given the relative distance between the centers of the circles and the difference/sum of their radii. Case 0. Inputs: Double_t dx difference in x locations of the circle centers Double_t dy difference in y locations of the circle centers Double_t sdr difference or sum of the circle radii Outputs: none. Return: the angle in Degrees
Basic function used to determine the ending angle and starting angles for rounded corners given the relative distance between the centers of the circles and the difference/sum of their radii. Case 1. Inputs: Double_t dx difference in x locations of the circle centers Double_t dy difference in y locations of the circle centers Double_t sdr difference or sum of the circle radii Outputs: none. Return: the angle in Degrees
Function to compute the ending angle, for arc 0, and starting angle, for arc 1, such that a straight line will connect them with no discontinuities./* */
Inputs: Double_t x0 X Coordinate of arc 0 center. Double_t y0 Y Coordinate of arc 0 center. Double_t r0 Radius of curvature of arc 0. For signe see figure. Double_t x1 X Coordinate of arc 1 center. Double_t y1 Y Coordinate of arc 1 center. Double_t r1 Radius of curvature of arc 1. For signe see figure. Outputs: Double_t t0 Ending angle of arch 0, with respect to x axis, Degrees. Double_t t1 Starting angle of arch 1, with respect to x axis, Degrees. Return: none.
Function to create the figure discribing how the function AnglesForRoundedCorners works. Inputs: Double_t x0 X Coordinate of arc 0 center. Double_t y0 Y Coordinate of arc 0 center. Double_t r0 Radius of curvature of arc 0. For signe see figure. Double_t x1 X Coordinate of arc 1 center. Double_t y1 Y Coordinate of arc 1 center. Double_t r1 Radius of curvature of arc 1. For signe see figure. Outputs: none. Return: none.
Clears the debug flag so no debugging output will be generated
{fDebug=level;}
Static functions Define Trig functions for use with degrees (standerd TGeo angles). Sine function
{return fDebug>=level;}
Determine the intersection of two lines
{return TMath::Tan(deg*TMath::DegToRad());}
Output functions for debugging Prints out the contents of the TGeoArb8