#include "AGeoWinstonCone2D.h"
#include "Riostream.h"
#include "TBuffer3D.h"
#include "TBuffer3DTypes.h"
#include "TGeoCone.h"
#include "TGeoManager.h"
#include "TGeoTube.h"
#include "TGeoVolume.h"
#include "TMath.h"
#include "TVector3.h"
#include "TVirtualGeoPainter.h"
#include "TVirtualPad.h"
ClassImp(AGeoWinstonCone2D);
AGeoWinstonCone2D::AGeoWinstonCone2D() : TGeoBBox(0, 0, 0) {
SetShapeBit(TGeoShape::kGeoBox);
}
AGeoWinstonCone2D::AGeoWinstonCone2D(Double_t r1, Double_t r2, Double_t y)
: TGeoBBox(0, 0, 0) {
SetShapeBit(TGeoShape::kGeoBox);
SetWinstonDimensions(r1, r2, y);
ComputeBBox();
}
AGeoWinstonCone2D::AGeoWinstonCone2D(const char* name, Double_t r1, Double_t r2,
Double_t y)
: TGeoBBox(name, 0, 0, 0) {
SetShapeBit(TGeoShape::kGeoBox);
SetWinstonDimensions(r1, r2, y);
ComputeBBox();
}
AGeoWinstonCone2D::~AGeoWinstonCone2D() {
}
Double_t AGeoWinstonCone2D::CalcdRdZ(Double_t z) const noexcept(false) {
if (TMath::Abs(z) > fDZ + 1e-10) {
throw std::exception();
}
Double_t sint = TMath::Sin(fTheta);
Double_t cost = TMath::Cos(fTheta);
Double_t t = z + fDZ;
Double_t a0 = t * t * sint * sint - 4. * fF * (t * cost + fF);
Double_t a1 = 2. * t * sint * cost + 4. * fF * sint;
Double_t a2 = cost * cost;
Double_t da0dt = 2 * t * sint * sint - 4 * fF * cost;
Double_t da1dt = 2 * sint * cost;
Double_t drdz = (-da1dt + (a1 * da1dt - 2 * da0dt * a2) /
TMath::Sqrt(a1 * a1 - 4 * a0 * a2)) /
(2 * a2);
return drdz;
}
Double_t AGeoWinstonCone2D::CalcR(Double_t z) const noexcept(false) {
if (TMath::Abs(z) > fDZ + 1e-10) {
throw std::exception();
}
Double_t sint = TMath::Sin(fTheta);
Double_t cost = TMath::Cos(fTheta);
Double_t t = z + fDZ;
Double_t a0 = t * t * sint * sint - 4. * fF * (t * cost + fF);
Double_t a1 = 2. * t * sint * cost + 4. * fF * sint;
Double_t a2 = cost * cost;
Double_t r = (-a1 + TMath::Sqrt(a1 * a1 - 4. * a0 * a2)) / (2 * a2) - fR2;
return r;
}
Double_t AGeoWinstonCone2D::Capacity() const {
return 0;
}
void AGeoWinstonCone2D::ComputeBBox() {
fDX = fR1;
fDY = fDY;
fDZ = fDZ;
fOrigin[0] = 0;
fOrigin[1] = 0;
fOrigin[2] = 0;
}
void AGeoWinstonCone2D::ComputeNormal(CONST53410 Double_t* point,
CONST53410 Double_t* dir,
Double_t* norm) {
Double_t x = point[0];
Double_t y = point[1];
Double_t z = point[2];
Double_t saf[3];
saf[0] = TMath::Abs(TMath::Abs(fDY) - TMath::Abs(y));
saf[1] = TMath::Abs(TMath::Abs(fDZ) - TMath::Abs(z));
try {
saf[2] = TMath::Abs(CalcR(z) - TMath::Abs(x));
} catch (...) {
saf[2] = TGeoShape::Big();
}
Int_t i = TMath::LocMin(3, saf);
if (i == 0) {
norm[0] = 0;
norm[1] = 1;
norm[2] = 0;
} else if (i == 1) {
norm[0] = 0;
norm[1] = 0;
norm[2] = 1;
} else {
if (point[0] > 0) {
norm[0] = 1;
norm[1] = 0;
norm[2] = -CalcdRdZ(z);
} else {
norm[0] = 1;
norm[1] = 0;
norm[2] = CalcdRdZ(z);
}
}
TVector3 vec(norm);
vec.SetMag(1.);
norm[0] = vec.X();
norm[1] = vec.Y();
norm[2] = vec.Z();
if (norm[0] * dir[0] + norm[1] * dir[1] + norm[2] * dir[2] < 0) {
norm[0] = -norm[0];
norm[1] = -norm[1];
norm[2] = -norm[2];
}
}
Bool_t AGeoWinstonCone2D::Contains(CONST53410 Double_t* point) const {
Double_t x = point[0];
Double_t y = point[1];
Double_t z = point[2];
if (TMath::Abs(y) > fDY or TMath::Abs(z) > fDZ) {
return kFALSE;
}
Double_t r = CalcR(z);
if (TMath::Abs(x) > r) {
return kFALSE;
}
return kTRUE;
}
Int_t AGeoWinstonCone2D::DistancetoPrimitive(Int_t px, Int_t py) {
Int_t n = gGeoManager->GetNsegments();
Int_t numPoints = 4 * (n + 1);
return ShapeDistancetoPrimitive(numPoints, px, py);
}
Double_t AGeoWinstonCone2D::DistFromInside(CONST53410 Double_t* point,
CONST53410 Double_t* dir, Int_t iact,
Double_t step,
Double_t* safe) const {
if (iact < 3 and safe) {
*safe = Safety(point, kFALSE);
if (iact == 0) return TGeoShape::Big();
if (iact == 1 && step < *safe) return TGeoShape::Big();
}
Double_t dz = TGeoShape::Big();
if (dir[2] < 0) {
dz = -(point[2] + fDZ) / dir[2];
} else if (dir[2] > 0) {
dz = (fDZ - point[2]) / dir[2];
}
Double_t dy = TGeoShape::Big();
if (dir[1] < 0) {
dy = -(point[1] + fDY) / dir[1];
} else if (dir[1] > 0) {
dy = (fDY - point[1]) / dir[1];
}
Double_t d[4];
d[0] = dz;
d[1] = dy;
d[2] = DistToParabola(point, dir, 0., TMath::Pi());
d[3] = DistToParabola(point, dir, TMath::Pi(), TMath::Pi());
return d[TMath::LocMin(4, d)];
}
Double_t AGeoWinstonCone2D::DistFromOutside(CONST53410 Double_t* point,
CONST53410 Double_t* dir,
Int_t iact, Double_t step,
Double_t* safe) const {
if (iact < 3 and safe) {
*safe = Safety(point, kFALSE);
if (iact == 0) return TGeoShape::Big();
if (iact == 1 && step < *safe) return TGeoShape::Big();
}
if (point[2] <= -fDZ) {
if (dir[2] <= 0) {
return TGeoShape::Big();
}
Double_t snxt = -(fDZ + point[2]) / dir[2];
Double_t xnew = point[0] + snxt * dir[0];
Double_t ynew = point[1] + snxt * dir[1];
if (TMath::Abs(xnew) <= fR2 and TMath::Abs(ynew) <= fDY) {
return snxt;
}
} else if (point[2] >= fDZ) {
if (dir[2] >= 0) {
return TGeoShape::Big();
}
Double_t snxt = (fDZ - point[2]) / dir[2];
Double_t xnew = point[0] + snxt * dir[0];
Double_t ynew = point[1] + snxt * dir[1];
if (TMath::Abs(xnew) <= fR1 and TMath::Abs(ynew) <= fDY) {
return snxt;
}
}
if (point[1] <= -fDY) {
if (dir[1] <= 0) {
return TGeoShape::Big();
}
Double_t snxt = -(fDY + point[1]) / dir[1];
Double_t xnew = point[0] + snxt * dir[0];
Double_t znew = point[2] + snxt * dir[2];
if (TMath::Abs(znew) <= fDZ and TMath::Abs(xnew) <= CalcR(znew)) {
return snxt;
}
} else if (point[1] >= fDY) {
if (dir[1] >= 0) {
return TGeoShape::Big();
}
Double_t snxt = (fDY - point[1]) / dir[1];
Double_t xnew = point[0] + snxt * dir[0];
Double_t znew = point[2] + snxt * dir[2];
if (TMath::Abs(znew) <= fDZ and TMath::Abs(xnew) <= CalcR(znew)) {
return snxt;
}
}
Double_t d[2];
Double_t snxt = DistToParabola(point, dir, 0., TMath::Pi());
Double_t ynew = point[1] + snxt * dir[1];
if (TMath::Abs(ynew) <= fDY) {
d[0] = snxt;
} else {
d[0] = TGeoShape::Big();
}
snxt = DistToParabola(point, dir, TMath::Pi(), TMath::Pi());
ynew = point[1] + snxt * dir[1];
if (TMath::Abs(ynew) <= fDY) {
d[1] = snxt;
} else {
d[1] = TGeoShape::Big();
}
return TMath::Min(d[0], d[1]);
}
Double_t AGeoWinstonCone2D::DistToParabola(CONST53410 Double_t* point,
CONST53410 Double_t* dir,
Double_t phi, Double_t open) const {
Double_t x = TMath::Cos(phi) * point[0] + TMath::Sin(phi) * point[1];
Double_t y = -TMath::Sin(phi) * point[0] + TMath::Cos(phi) * point[1];
Double_t z = point[2];
Double_t px = TMath::Cos(phi) * dir[0] + TMath::Sin(phi) * dir[1];
Double_t py = -TMath::Sin(phi) * dir[0] + TMath::Cos(phi) * dir[1];
Double_t pz = dir[2];
if (px == 0 and pz == 0) {
return TGeoShape::Big();
}
Double_t cost = TMath::Cos(fTheta);
Double_t sint = TMath::Sin(fTheta);
Double_t X = cost * (x + fR2) + (z + fDZ) * sint;
Double_t Z = -sint * (x + fR2) + (z + fDZ) * cost + fF;
Double_t alpha = TMath::ATan2(pz, px);
Double_t ALPHA = alpha - fTheta;
Double_t tanA = TMath::Tan(ALPHA);
Double_t dist[2];
Double_t tmp = tanA * tanA - (X * tanA - Z) / fF;
if (tmp < 0) {
dist[0] = TGeoShape::Big();
dist[1] = TGeoShape::Big();
} else {
Double_t X_cross_p, X_cross_m;
if (fDZ * 2 / TMath::Abs(tanA) <
TGeoShape::Tolerance()) {
X_cross_p = X;
X_cross_m = X;
} else {
X_cross_p = 2 * fF * (tanA + TMath::Sqrt(tmp));
X_cross_m = 2 * fF * (tanA - TMath::Sqrt(tmp));
}
Double_t Z_cross_p = X_cross_p * X_cross_p / 4. / fF;
Double_t Z_cross_m = X_cross_m * X_cross_m / 4. / fF;
Double_t x_cross_p = cost * X_cross_p - sint * (Z_cross_p - fF) - fR2;
Double_t x_cross_m = cost * X_cross_m - sint * (Z_cross_m - fF) - fR2;
Double_t z_cross_p = sint * X_cross_p + cost * (Z_cross_p - fF) - fDZ;
Double_t z_cross_m = sint * X_cross_m + cost * (Z_cross_m - fF) - fDZ;
Double_t y_cross_p;
Double_t y_cross_m;
if (TMath::Abs(px) <= TMath::Abs(pz) and TMath::Abs(py) <= TMath::Abs(pz)) {
y_cross_p = y + (z_cross_p - z) * py / pz;
y_cross_m = y + (z_cross_m - z) * py / pz;
} else if (TMath::Abs(py) <= TMath::Abs(px) and
TMath::Abs(pz) <= TMath::Abs(px)) {
y_cross_p = y + (x_cross_p - x) * py / px;
y_cross_m = y + (x_cross_m - x) * py / px;
} else {
y_cross_p = y + (TMath::Abs(px) < 1e-5 ? (z_cross_p - z) * py / pz
: (x_cross_p - x) * py / px);
y_cross_m = y + (TMath::Abs(px) < 1e-5 ? (z_cross_m - z) * py / pz
: (x_cross_m - x) * py / px);
}
Double_t dx = x_cross_p - x;
Double_t dy = y_cross_p - y;
Double_t dz = z_cross_p - z;
if (x_cross_p < fR2 or fR1 < x_cross_p or z_cross_p < -fDZ or
fDZ < z_cross_p or dx * px + dz * pz < 0) {
dist[0] = TGeoShape::Big();
} else {
if (TMath::Abs(TMath::ATan2(y_cross_p, x_cross_p)) <= open / 2.) {
dist[0] = TMath::Sqrt(dx * dx + dy * dy + dz * dz);
} else {
dist[0] = TGeoShape::Big();
}
}
dx = x_cross_m - x;
dy = y_cross_m - y;
dz = z_cross_m - z;
if (x_cross_m < fR2 or fR1 < x_cross_m or z_cross_m < -fDZ or
fDZ < z_cross_m or dx * px + dz * pz < 0) {
dist[1] = TGeoShape::Big();
} else {
if (TMath::Abs(TMath::ATan2(y_cross_m, x_cross_m)) <= open / 2.) {
dist[1] = TMath::Sqrt(dx * dx + dy * dy + dz * dz);
} else {
dist[1] = TGeoShape::Big();
}
}
}
return TMath::Min(dist[0], dist[1]);
}
TGeoVolume* AGeoWinstonCone2D::Divide(TGeoVolume*, const char*, Int_t, Int_t,
Double_t, Double_t) {
Error("Divide", "Division of a 2D Winston cone is not implemented");
return 0;
}
void AGeoWinstonCone2D::GetBoundingCylinder(Double_t* param) const {
param[0] = 0;
param[1] = fDX * fDX + fDY * fDY;
param[2] = 0;
param[3] = 360;
}
const TBuffer3D& AGeoWinstonCone2D::GetBuffer3D(Int_t reqSections,
Bool_t localFrame) const {
static TBuffer3D buffer(TBuffer3DTypes::kGeneric);
TGeoBBox::FillBuffer3D(buffer, reqSections, localFrame);
if (reqSections & TBuffer3D::kRawSizes) {
Int_t n = gGeoManager->GetNsegments();
Int_t nbPnts = 4 * (n + 1);
Int_t nbSegs = 4 * (2 * n + 1);
Int_t nbPols = 4 * n + 2;
if (buffer.SetRawSizes(nbPnts, 3 * nbPnts, nbSegs, 3 * nbSegs, nbPols,
6 * nbPols)) {
buffer.SetSectionsValid(TBuffer3D::kRawSizes);
}
}
if ((reqSections & TBuffer3D::kRaw) &&
buffer.SectionsValid(TBuffer3D::kRawSizes)) {
SetPoints(buffer.fPnts);
if (!buffer.fLocalFrame) {
TransformPoints(buffer.fPnts, buffer.NbPnts());
}
SetSegsAndPols(buffer);
buffer.SetSectionsValid(TBuffer3D::kRaw);
}
return buffer;
}
void AGeoWinstonCone2D::GetMeshNumbers(Int_t& nvert, Int_t& nsegs,
Int_t& npols) const {
Int_t n = gGeoManager->GetNsegments();
nvert = 4 * (n + 1);
nsegs = 4 * (2 * n + 1);
npols = 4 * n + 2;
}
Int_t AGeoWinstonCone2D::GetNmeshVertices() const {
Int_t n = gGeoManager->GetNsegments();
Int_t nbPnts = 4 * (n + 1);
return nbPnts;
}
void AGeoWinstonCone2D::InspectShape() const {
printf("*** Shape %s: AGeoWinstonCone2D ***\n", GetName());
printf(" R1 = %11.5f\n", fR1);
printf(" R2 = %11.5f\n", fR2);
printf(" Bounding box:\n");
TGeoBBox::InspectShape();
}
TBuffer3D* AGeoWinstonCone2D::MakeBuffer3D() const {
Int_t n = gGeoManager->GetNsegments();
Int_t nbPnts = 4 * (n + 1);
Int_t nbSegs = 4 * (2 * n + 1);
Int_t nbPols = 4 * n + 2;
TBuffer3D* buff = new TBuffer3D(TBuffer3DTypes::kGeneric, nbPnts, 3 * nbPnts,
nbSegs, 3 * nbSegs, nbPols, 6 * nbPols);
if (buff) {
SetPoints(buff->fPnts);
SetSegsAndPols(*buff);
}
return buff;
}
Double_t AGeoWinstonCone2D::Safety(CONST53410 Double_t*, Bool_t) const {
return TGeoShape::Big();
}
void AGeoWinstonCone2D::SavePrimitive(std::ostream& out, Option_t*) {
if (TObject::TestBit(kGeoSavePrimitive)) return;
out << " // Shape: " << GetName() << " type: " << ClassName() << std::endl;
out << " r1 = " << fR1 << ";" << std::endl;
out << " r2 = " << fR2 << ";" << std::endl;
out << " dy = " << fDY << ";" << std::endl;
out << " AGeoWinstonCone2D* cone = new AGeoWinstonCone2D(\"" << GetName()
<< "\", r1, r2, dy);" << std::endl;
out << " TGeoShape* " << GetPointerName() << " = cone;" << std::endl;
TObject::SetBit(TGeoShape::kGeoSavePrimitive);
}
void AGeoWinstonCone2D::SetWinstonDimensions(Double_t r1, Double_t r2,
Double_t y) {
if (TMath::Abs(r1) > TMath::Abs(r2)) {
fR1 = TMath::Abs(r1);
fR2 = TMath::Abs(r2);
} else {
fR1 = TMath::Abs(r2);
fR2 = TMath::Abs(r1);
}
fDY = TMath::Abs(y);
fTheta = TMath::ASin(fR2 / fR1);
fDZ = (fR1 + fR2) / TMath::Tan(fTheta) / 2.;
fF = fR2 * (1 + TMath::Sin(fTheta));
}
void AGeoWinstonCone2D::SetDimensions(Double_t* param) {
SetWinstonDimensions(param[0], param[1], param[2]);
}
void AGeoWinstonCone2D::SetPoints(Double_t* points) const {
Int_t n = gGeoManager->GetNsegments();
if (points) {
for (int i = 0; i <= n; i++) {
Double_t t = 2. * fDZ * i / n;
Double_t z = -fDZ + t;
Double_t r = CalcR(z);
points[(i * 4 + 0) * 3 + 0] = r;
points[(i * 4 + 0) * 3 + 1] = fDY;
points[(i * 4 + 0) * 3 + 2] = z;
points[(i * 4 + 1) * 3 + 0] = -r;
points[(i * 4 + 1) * 3 + 1] = fDY;
points[(i * 4 + 1) * 3 + 2] = z;
points[(i * 4 + 2) * 3 + 0] = -r;
points[(i * 4 + 2) * 3 + 1] = -fDY;
points[(i * 4 + 2) * 3 + 2] = z;
points[(i * 4 + 3) * 3 + 0] = r;
points[(i * 4 + 3) * 3 + 1] = -fDY;
points[(i * 4 + 3) * 3 + 2] = z;
}
}
}
void AGeoWinstonCone2D::SetPoints(Float_t* points) const {
Int_t n = gGeoManager->GetNsegments();
if (points) {
for (Int_t i = 0; i <= n; i++) {
Double_t t = 2 * fDZ * i / n;
Double_t z = -fDZ + t;
Double_t r = CalcR(z);
points[(i * 4 + 0) * 3 + 0] = r;
points[(i * 4 + 0) * 3 + 1] = fDY;
points[(i * 4 + 0) * 3 + 2] = z;
points[(i * 4 + 1) * 3 + 0] = -r;
points[(i * 4 + 1) * 3 + 1] = fDY;
points[(i * 4 + 1) * 3 + 2] = z;
points[(i * 4 + 2) * 3 + 0] = -r;
points[(i * 4 + 2) * 3 + 1] = -fDY;
points[(i * 4 + 2) * 3 + 2] = z;
points[(i * 4 + 3) * 3 + 0] = r;
points[(i * 4 + 3) * 3 + 1] = -fDY;
points[(i * 4 + 3) * 3 + 2] = z;
}
}
}
void AGeoWinstonCone2D::SetSegsAndPols(TBuffer3D& buff) const {
Int_t n = gGeoManager->GetNsegments();
Int_t c = GetBasicColor();
Int_t index = 0;
for (Int_t i = 0; i < n; i++) {
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i;
buff.fSegs[index++] = 4 * i + 4;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 1;
buff.fSegs[index++] = 4 * i + 5;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 2;
buff.fSegs[index++] = 4 * i + 6;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 3;
buff.fSegs[index++] = 4 * i + 7;
}
for (Int_t i = 0; i <= n; i++) {
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i;
buff.fSegs[index++] = 4 * i + 1;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 1;
buff.fSegs[index++] = 4 * i + 2;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 2;
buff.fSegs[index++] = 4 * i + 3;
buff.fSegs[index++] = c;
buff.fSegs[index++] = 4 * i + 3;
buff.fSegs[index++] = 4 * i;
}
index = 0;
for (Int_t i = 0; i < n; i++) {
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 4 * i;
buff.fPols[index++] = 4 * n + 4 * i + 4;
buff.fPols[index++] = 4 * i + 1;
buff.fPols[index++] = 4 * n + 4 * i;
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 4 * i + 1;
buff.fPols[index++] = 4 * n + 4 * i + 5;
buff.fPols[index++] = 4 * i + 2;
buff.fPols[index++] = 4 * n + 4 * i + 1;
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 4 * i + 2;
buff.fPols[index++] = 4 * n + 4 * i + 6;
buff.fPols[index++] = 4 * i + 3;
buff.fPols[index++] = 4 * n + 4 * i + 2;
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 4 * i + 3;
buff.fPols[index++] = 4 * n + 4 * i + 7;
buff.fPols[index++] = 4 * i;
buff.fPols[index++] = 4 * n + 4 * i + 3;
}
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 4 * n;
buff.fPols[index++] = 4 * n + 1;
buff.fPols[index++] = 4 * n + 2;
buff.fPols[index++] = 4 * n + 3;
buff.fPols[index++] = c;
buff.fPols[index++] = 4;
buff.fPols[index++] = 8 * n + 3;
buff.fPols[index++] = 8 * n + 2;
buff.fPols[index++] = 8 * n + 1;
buff.fPols[index++] = 8 * n + 0;
}
void AGeoWinstonCone2D::Sizeof3D() const {
}
AGeoWinstonCone2D.cxx:100 AGeoWinstonCone2D.cxx:101 AGeoWinstonCone2D.cxx:102 AGeoWinstonCone2D.cxx:103 AGeoWinstonCone2D.cxx:104 AGeoWinstonCone2D.cxx:105 AGeoWinstonCone2D.cxx:106 AGeoWinstonCone2D.cxx:107 AGeoWinstonCone2D.cxx:108 AGeoWinstonCone2D.cxx:109 AGeoWinstonCone2D.cxx:110 AGeoWinstonCone2D.cxx:111 AGeoWinstonCone2D.cxx:112 AGeoWinstonCone2D.cxx:113 AGeoWinstonCone2D.cxx:114 AGeoWinstonCone2D.cxx:115 AGeoWinstonCone2D.cxx:116 AGeoWinstonCone2D.cxx:117 AGeoWinstonCone2D.cxx:118 AGeoWinstonCone2D.cxx:119 AGeoWinstonCone2D.cxx:120 AGeoWinstonCone2D.cxx:121 AGeoWinstonCone2D.cxx:122 AGeoWinstonCone2D.cxx:123 AGeoWinstonCone2D.cxx:124 AGeoWinstonCone2D.cxx:125 AGeoWinstonCone2D.cxx:126 AGeoWinstonCone2D.cxx:127 AGeoWinstonCone2D.cxx:128 AGeoWinstonCone2D.cxx:129 AGeoWinstonCone2D.cxx:130 AGeoWinstonCone2D.cxx:131 AGeoWinstonCone2D.cxx:132 AGeoWinstonCone2D.cxx:133 AGeoWinstonCone2D.cxx:134 AGeoWinstonCone2D.cxx:135 AGeoWinstonCone2D.cxx:136 AGeoWinstonCone2D.cxx:137 AGeoWinstonCone2D.cxx:138 AGeoWinstonCone2D.cxx:139 AGeoWinstonCone2D.cxx:140 AGeoWinstonCone2D.cxx:141 AGeoWinstonCone2D.cxx:142 AGeoWinstonCone2D.cxx:143 AGeoWinstonCone2D.cxx:144 AGeoWinstonCone2D.cxx:145 AGeoWinstonCone2D.cxx:146 AGeoWinstonCone2D.cxx:147 AGeoWinstonCone2D.cxx:148 AGeoWinstonCone2D.cxx:149 AGeoWinstonCone2D.cxx:150 AGeoWinstonCone2D.cxx:151 AGeoWinstonCone2D.cxx:152 AGeoWinstonCone2D.cxx:153 AGeoWinstonCone2D.cxx:154 AGeoWinstonCone2D.cxx:155 AGeoWinstonCone2D.cxx:156 AGeoWinstonCone2D.cxx:157 AGeoWinstonCone2D.cxx:158 AGeoWinstonCone2D.cxx:159 AGeoWinstonCone2D.cxx:160 AGeoWinstonCone2D.cxx:161 AGeoWinstonCone2D.cxx:162 AGeoWinstonCone2D.cxx:163 AGeoWinstonCone2D.cxx:164 AGeoWinstonCone2D.cxx:165 AGeoWinstonCone2D.cxx:166 AGeoWinstonCone2D.cxx:167 AGeoWinstonCone2D.cxx:168 AGeoWinstonCone2D.cxx:169 AGeoWinstonCone2D.cxx:170 AGeoWinstonCone2D.cxx:171 AGeoWinstonCone2D.cxx:172 AGeoWinstonCone2D.cxx:173 AGeoWinstonCone2D.cxx:174 AGeoWinstonCone2D.cxx:175 AGeoWinstonCone2D.cxx:176 AGeoWinstonCone2D.cxx:177 AGeoWinstonCone2D.cxx:178 AGeoWinstonCone2D.cxx:179 AGeoWinstonCone2D.cxx:180 AGeoWinstonCone2D.cxx:181 AGeoWinstonCone2D.cxx:182 AGeoWinstonCone2D.cxx:183 AGeoWinstonCone2D.cxx:184 AGeoWinstonCone2D.cxx:185 AGeoWinstonCone2D.cxx:186 AGeoWinstonCone2D.cxx:187 AGeoWinstonCone2D.cxx:188 AGeoWinstonCone2D.cxx:189 AGeoWinstonCone2D.cxx:190 AGeoWinstonCone2D.cxx:191 AGeoWinstonCone2D.cxx:192 AGeoWinstonCone2D.cxx:193 AGeoWinstonCone2D.cxx:194 AGeoWinstonCone2D.cxx:195 AGeoWinstonCone2D.cxx:196 AGeoWinstonCone2D.cxx:197 AGeoWinstonCone2D.cxx:198 AGeoWinstonCone2D.cxx:199 AGeoWinstonCone2D.cxx:200 AGeoWinstonCone2D.cxx:201 AGeoWinstonCone2D.cxx:202 AGeoWinstonCone2D.cxx:203 AGeoWinstonCone2D.cxx:204 AGeoWinstonCone2D.cxx:205 AGeoWinstonCone2D.cxx:206 AGeoWinstonCone2D.cxx:207 AGeoWinstonCone2D.cxx:208 AGeoWinstonCone2D.cxx:209 AGeoWinstonCone2D.cxx:210 AGeoWinstonCone2D.cxx:211 AGeoWinstonCone2D.cxx:212 AGeoWinstonCone2D.cxx:213 AGeoWinstonCone2D.cxx:214 AGeoWinstonCone2D.cxx:215 AGeoWinstonCone2D.cxx:216 AGeoWinstonCone2D.cxx:217 AGeoWinstonCone2D.cxx:218 AGeoWinstonCone2D.cxx:219 AGeoWinstonCone2D.cxx:220 AGeoWinstonCone2D.cxx:221 AGeoWinstonCone2D.cxx:222 AGeoWinstonCone2D.cxx:223 AGeoWinstonCone2D.cxx:224 AGeoWinstonCone2D.cxx:225 AGeoWinstonCone2D.cxx:226 AGeoWinstonCone2D.cxx:227 AGeoWinstonCone2D.cxx:228 AGeoWinstonCone2D.cxx:229 AGeoWinstonCone2D.cxx:230 AGeoWinstonCone2D.cxx:231 AGeoWinstonCone2D.cxx:232 AGeoWinstonCone2D.cxx:233 AGeoWinstonCone2D.cxx:234 AGeoWinstonCone2D.cxx:235 AGeoWinstonCone2D.cxx:236 AGeoWinstonCone2D.cxx:237 AGeoWinstonCone2D.cxx:238 AGeoWinstonCone2D.cxx:239 AGeoWinstonCone2D.cxx:240 AGeoWinstonCone2D.cxx:241 AGeoWinstonCone2D.cxx:242 AGeoWinstonCone2D.cxx:243 AGeoWinstonCone2D.cxx:244 AGeoWinstonCone2D.cxx:245 AGeoWinstonCone2D.cxx:246 AGeoWinstonCone2D.cxx:247 AGeoWinstonCone2D.cxx:248 AGeoWinstonCone2D.cxx:249 AGeoWinstonCone2D.cxx:250 AGeoWinstonCone2D.cxx:251 AGeoWinstonCone2D.cxx:252 AGeoWinstonCone2D.cxx:253 AGeoWinstonCone2D.cxx:254 AGeoWinstonCone2D.cxx:255 AGeoWinstonCone2D.cxx:256 AGeoWinstonCone2D.cxx:257 AGeoWinstonCone2D.cxx:258 AGeoWinstonCone2D.cxx:259 AGeoWinstonCone2D.cxx:260 AGeoWinstonCone2D.cxx:261 AGeoWinstonCone2D.cxx:262 AGeoWinstonCone2D.cxx:263 AGeoWinstonCone2D.cxx:264 AGeoWinstonCone2D.cxx:265 AGeoWinstonCone2D.cxx:266 AGeoWinstonCone2D.cxx:267 AGeoWinstonCone2D.cxx:268 AGeoWinstonCone2D.cxx:269 AGeoWinstonCone2D.cxx:270 AGeoWinstonCone2D.cxx:271 AGeoWinstonCone2D.cxx:272 AGeoWinstonCone2D.cxx:273 AGeoWinstonCone2D.cxx:274 AGeoWinstonCone2D.cxx:275 AGeoWinstonCone2D.cxx:276 AGeoWinstonCone2D.cxx:277 AGeoWinstonCone2D.cxx:278 AGeoWinstonCone2D.cxx:279 AGeoWinstonCone2D.cxx:280 AGeoWinstonCone2D.cxx:281 AGeoWinstonCone2D.cxx:282 AGeoWinstonCone2D.cxx:283 AGeoWinstonCone2D.cxx:284 AGeoWinstonCone2D.cxx:285 AGeoWinstonCone2D.cxx:286 AGeoWinstonCone2D.cxx:287 AGeoWinstonCone2D.cxx:288 AGeoWinstonCone2D.cxx:289 AGeoWinstonCone2D.cxx:290 AGeoWinstonCone2D.cxx:291 AGeoWinstonCone2D.cxx:292 AGeoWinstonCone2D.cxx:293 AGeoWinstonCone2D.cxx:294 AGeoWinstonCone2D.cxx:295 AGeoWinstonCone2D.cxx:296 AGeoWinstonCone2D.cxx:297 AGeoWinstonCone2D.cxx:298 AGeoWinstonCone2D.cxx:299 AGeoWinstonCone2D.cxx:300 AGeoWinstonCone2D.cxx:301 AGeoWinstonCone2D.cxx:302 AGeoWinstonCone2D.cxx:303 AGeoWinstonCone2D.cxx:304 AGeoWinstonCone2D.cxx:305 AGeoWinstonCone2D.cxx:306 AGeoWinstonCone2D.cxx:307 AGeoWinstonCone2D.cxx:308 AGeoWinstonCone2D.cxx:309 AGeoWinstonCone2D.cxx:310 AGeoWinstonCone2D.cxx:311 AGeoWinstonCone2D.cxx:312 AGeoWinstonCone2D.cxx:313 AGeoWinstonCone2D.cxx:314 AGeoWinstonCone2D.cxx:315 AGeoWinstonCone2D.cxx:316 AGeoWinstonCone2D.cxx:317 AGeoWinstonCone2D.cxx:318 AGeoWinstonCone2D.cxx:319 AGeoWinstonCone2D.cxx:320 AGeoWinstonCone2D.cxx:321 AGeoWinstonCone2D.cxx:322 AGeoWinstonCone2D.cxx:323 AGeoWinstonCone2D.cxx:324 AGeoWinstonCone2D.cxx:325 AGeoWinstonCone2D.cxx:326 AGeoWinstonCone2D.cxx:327 AGeoWinstonCone2D.cxx:328 AGeoWinstonCone2D.cxx:329 AGeoWinstonCone2D.cxx:330 AGeoWinstonCone2D.cxx:331 AGeoWinstonCone2D.cxx:332 AGeoWinstonCone2D.cxx:333 AGeoWinstonCone2D.cxx:334 AGeoWinstonCone2D.cxx:335 AGeoWinstonCone2D.cxx:336 AGeoWinstonCone2D.cxx:337 AGeoWinstonCone2D.cxx:338 AGeoWinstonCone2D.cxx:339 AGeoWinstonCone2D.cxx:340 AGeoWinstonCone2D.cxx:341 AGeoWinstonCone2D.cxx:342 AGeoWinstonCone2D.cxx:343 AGeoWinstonCone2D.cxx:344 AGeoWinstonCone2D.cxx:345 AGeoWinstonCone2D.cxx:346 AGeoWinstonCone2D.cxx:347 AGeoWinstonCone2D.cxx:348 AGeoWinstonCone2D.cxx:349 AGeoWinstonCone2D.cxx:350 AGeoWinstonCone2D.cxx:351 AGeoWinstonCone2D.cxx:352 AGeoWinstonCone2D.cxx:353 AGeoWinstonCone2D.cxx:354 AGeoWinstonCone2D.cxx:355 AGeoWinstonCone2D.cxx:356 AGeoWinstonCone2D.cxx:357 AGeoWinstonCone2D.cxx:358 AGeoWinstonCone2D.cxx:359 AGeoWinstonCone2D.cxx:360 AGeoWinstonCone2D.cxx:361 AGeoWinstonCone2D.cxx:362 AGeoWinstonCone2D.cxx:363 AGeoWinstonCone2D.cxx:364 AGeoWinstonCone2D.cxx:365 AGeoWinstonCone2D.cxx:366 AGeoWinstonCone2D.cxx:367 AGeoWinstonCone2D.cxx:368 AGeoWinstonCone2D.cxx:369 AGeoWinstonCone2D.cxx:370 AGeoWinstonCone2D.cxx:371 AGeoWinstonCone2D.cxx:372 AGeoWinstonCone2D.cxx:373 AGeoWinstonCone2D.cxx:374 AGeoWinstonCone2D.cxx:375 AGeoWinstonCone2D.cxx:376 AGeoWinstonCone2D.cxx:377 AGeoWinstonCone2D.cxx:378 AGeoWinstonCone2D.cxx:379 AGeoWinstonCone2D.cxx:380 AGeoWinstonCone2D.cxx:381 AGeoWinstonCone2D.cxx:382 AGeoWinstonCone2D.cxx:383 AGeoWinstonCone2D.cxx:384 AGeoWinstonCone2D.cxx:385 AGeoWinstonCone2D.cxx:386 AGeoWinstonCone2D.cxx:387 AGeoWinstonCone2D.cxx:388 AGeoWinstonCone2D.cxx:389 AGeoWinstonCone2D.cxx:390 AGeoWinstonCone2D.cxx:391 AGeoWinstonCone2D.cxx:392 AGeoWinstonCone2D.cxx:393 AGeoWinstonCone2D.cxx:394 AGeoWinstonCone2D.cxx:395 AGeoWinstonCone2D.cxx:396 AGeoWinstonCone2D.cxx:397 AGeoWinstonCone2D.cxx:398 AGeoWinstonCone2D.cxx:399 AGeoWinstonCone2D.cxx:400 AGeoWinstonCone2D.cxx:401 AGeoWinstonCone2D.cxx:402 AGeoWinstonCone2D.cxx:403 AGeoWinstonCone2D.cxx:404 AGeoWinstonCone2D.cxx:405 AGeoWinstonCone2D.cxx:406 AGeoWinstonCone2D.cxx:407 AGeoWinstonCone2D.cxx:408 AGeoWinstonCone2D.cxx:409 AGeoWinstonCone2D.cxx:410 AGeoWinstonCone2D.cxx:411 AGeoWinstonCone2D.cxx:412 AGeoWinstonCone2D.cxx:413 AGeoWinstonCone2D.cxx:414 AGeoWinstonCone2D.cxx:415 AGeoWinstonCone2D.cxx:416 AGeoWinstonCone2D.cxx:417 AGeoWinstonCone2D.cxx:418 AGeoWinstonCone2D.cxx:419 AGeoWinstonCone2D.cxx:420 AGeoWinstonCone2D.cxx:421 AGeoWinstonCone2D.cxx:422 AGeoWinstonCone2D.cxx:423 AGeoWinstonCone2D.cxx:424 AGeoWinstonCone2D.cxx:425 AGeoWinstonCone2D.cxx:426 AGeoWinstonCone2D.cxx:427 AGeoWinstonCone2D.cxx:428 AGeoWinstonCone2D.cxx:429 AGeoWinstonCone2D.cxx:430 AGeoWinstonCone2D.cxx:431 AGeoWinstonCone2D.cxx:432 AGeoWinstonCone2D.cxx:433 AGeoWinstonCone2D.cxx:434 AGeoWinstonCone2D.cxx:435 AGeoWinstonCone2D.cxx:436 AGeoWinstonCone2D.cxx:437 AGeoWinstonCone2D.cxx:438 AGeoWinstonCone2D.cxx:439 AGeoWinstonCone2D.cxx:440 AGeoWinstonCone2D.cxx:441 AGeoWinstonCone2D.cxx:442 AGeoWinstonCone2D.cxx:443 AGeoWinstonCone2D.cxx:444 AGeoWinstonCone2D.cxx:445 AGeoWinstonCone2D.cxx:446 AGeoWinstonCone2D.cxx:447 AGeoWinstonCone2D.cxx:448 AGeoWinstonCone2D.cxx:449 AGeoWinstonCone2D.cxx:450 AGeoWinstonCone2D.cxx:451 AGeoWinstonCone2D.cxx:452 AGeoWinstonCone2D.cxx:453 AGeoWinstonCone2D.cxx:454 AGeoWinstonCone2D.cxx:455 AGeoWinstonCone2D.cxx:456 AGeoWinstonCone2D.cxx:457 AGeoWinstonCone2D.cxx:458 AGeoWinstonCone2D.cxx:459 AGeoWinstonCone2D.cxx:460 AGeoWinstonCone2D.cxx:461 AGeoWinstonCone2D.cxx:462 AGeoWinstonCone2D.cxx:463 AGeoWinstonCone2D.cxx:464 AGeoWinstonCone2D.cxx:465 AGeoWinstonCone2D.cxx:466 AGeoWinstonCone2D.cxx:467 AGeoWinstonCone2D.cxx:468 AGeoWinstonCone2D.cxx:469 AGeoWinstonCone2D.cxx:470 AGeoWinstonCone2D.cxx:471 AGeoWinstonCone2D.cxx:472 AGeoWinstonCone2D.cxx:473 AGeoWinstonCone2D.cxx:474 AGeoWinstonCone2D.cxx:475 AGeoWinstonCone2D.cxx:476 AGeoWinstonCone2D.cxx:477 AGeoWinstonCone2D.cxx:478 AGeoWinstonCone2D.cxx:479 AGeoWinstonCone2D.cxx:480 AGeoWinstonCone2D.cxx:481 AGeoWinstonCone2D.cxx:482 AGeoWinstonCone2D.cxx:483 AGeoWinstonCone2D.cxx:484 AGeoWinstonCone2D.cxx:485 AGeoWinstonCone2D.cxx:486 AGeoWinstonCone2D.cxx:487 AGeoWinstonCone2D.cxx:488 AGeoWinstonCone2D.cxx:489 AGeoWinstonCone2D.cxx:490 AGeoWinstonCone2D.cxx:491 AGeoWinstonCone2D.cxx:492 AGeoWinstonCone2D.cxx:493 AGeoWinstonCone2D.cxx:494 AGeoWinstonCone2D.cxx:495 AGeoWinstonCone2D.cxx:496 AGeoWinstonCone2D.cxx:497 AGeoWinstonCone2D.cxx:498 AGeoWinstonCone2D.cxx:499 AGeoWinstonCone2D.cxx:500 AGeoWinstonCone2D.cxx:501 AGeoWinstonCone2D.cxx:502 AGeoWinstonCone2D.cxx:503 AGeoWinstonCone2D.cxx:504 AGeoWinstonCone2D.cxx:505 AGeoWinstonCone2D.cxx:506 AGeoWinstonCone2D.cxx:507 AGeoWinstonCone2D.cxx:508 AGeoWinstonCone2D.cxx:509 AGeoWinstonCone2D.cxx:510 AGeoWinstonCone2D.cxx:511 AGeoWinstonCone2D.cxx:512 AGeoWinstonCone2D.cxx:513 AGeoWinstonCone2D.cxx:514 AGeoWinstonCone2D.cxx:515 AGeoWinstonCone2D.cxx:516 AGeoWinstonCone2D.cxx:517 AGeoWinstonCone2D.cxx:518 AGeoWinstonCone2D.cxx:519 AGeoWinstonCone2D.cxx:520 AGeoWinstonCone2D.cxx:521 AGeoWinstonCone2D.cxx:522 AGeoWinstonCone2D.cxx:523 AGeoWinstonCone2D.cxx:524 AGeoWinstonCone2D.cxx:525 AGeoWinstonCone2D.cxx:526 AGeoWinstonCone2D.cxx:527 AGeoWinstonCone2D.cxx:528 AGeoWinstonCone2D.cxx:529 AGeoWinstonCone2D.cxx:530 AGeoWinstonCone2D.cxx:531 AGeoWinstonCone2D.cxx:532 AGeoWinstonCone2D.cxx:533 AGeoWinstonCone2D.cxx:534 AGeoWinstonCone2D.cxx:535 AGeoWinstonCone2D.cxx:536 AGeoWinstonCone2D.cxx:537 AGeoWinstonCone2D.cxx:538 AGeoWinstonCone2D.cxx:539 AGeoWinstonCone2D.cxx:540 AGeoWinstonCone2D.cxx:541 AGeoWinstonCone2D.cxx:542 AGeoWinstonCone2D.cxx:543 AGeoWinstonCone2D.cxx:544 AGeoWinstonCone2D.cxx:545 AGeoWinstonCone2D.cxx:546 AGeoWinstonCone2D.cxx:547 AGeoWinstonCone2D.cxx:548 AGeoWinstonCone2D.cxx:549 AGeoWinstonCone2D.cxx:550 AGeoWinstonCone2D.cxx:551 AGeoWinstonCone2D.cxx:552 AGeoWinstonCone2D.cxx:553 AGeoWinstonCone2D.cxx:554 AGeoWinstonCone2D.cxx:555 AGeoWinstonCone2D.cxx:556 AGeoWinstonCone2D.cxx:557 AGeoWinstonCone2D.cxx:558 AGeoWinstonCone2D.cxx:559 AGeoWinstonCone2D.cxx:560 AGeoWinstonCone2D.cxx:561 AGeoWinstonCone2D.cxx:562 AGeoWinstonCone2D.cxx:563 AGeoWinstonCone2D.cxx:564 AGeoWinstonCone2D.cxx:565 AGeoWinstonCone2D.cxx:566 AGeoWinstonCone2D.cxx:567 AGeoWinstonCone2D.cxx:568 AGeoWinstonCone2D.cxx:569 AGeoWinstonCone2D.cxx:570 AGeoWinstonCone2D.cxx:571 AGeoWinstonCone2D.cxx:572 AGeoWinstonCone2D.cxx:573 AGeoWinstonCone2D.cxx:574 AGeoWinstonCone2D.cxx:575 AGeoWinstonCone2D.cxx:576 AGeoWinstonCone2D.cxx:577 AGeoWinstonCone2D.cxx:578 AGeoWinstonCone2D.cxx:579 AGeoWinstonCone2D.cxx:580 AGeoWinstonCone2D.cxx:581 AGeoWinstonCone2D.cxx:582 AGeoWinstonCone2D.cxx:583 AGeoWinstonCone2D.cxx:584 AGeoWinstonCone2D.cxx:585 AGeoWinstonCone2D.cxx:586 AGeoWinstonCone2D.cxx:587 AGeoWinstonCone2D.cxx:588 AGeoWinstonCone2D.cxx:589 AGeoWinstonCone2D.cxx:590 AGeoWinstonCone2D.cxx:591 AGeoWinstonCone2D.cxx:592 AGeoWinstonCone2D.cxx:593 AGeoWinstonCone2D.cxx:594 AGeoWinstonCone2D.cxx:595 AGeoWinstonCone2D.cxx:596 AGeoWinstonCone2D.cxx:597 AGeoWinstonCone2D.cxx:598 AGeoWinstonCone2D.cxx:599 AGeoWinstonCone2D.cxx:600 AGeoWinstonCone2D.cxx:601 AGeoWinstonCone2D.cxx:602 AGeoWinstonCone2D.cxx:603 AGeoWinstonCone2D.cxx:604 AGeoWinstonCone2D.cxx:605 AGeoWinstonCone2D.cxx:606 AGeoWinstonCone2D.cxx:607 AGeoWinstonCone2D.cxx:608 AGeoWinstonCone2D.cxx:609 AGeoWinstonCone2D.cxx:610 AGeoWinstonCone2D.cxx:611 AGeoWinstonCone2D.cxx:612 AGeoWinstonCone2D.cxx:613 AGeoWinstonCone2D.cxx:614 AGeoWinstonCone2D.cxx:615 AGeoWinstonCone2D.cxx:616 AGeoWinstonCone2D.cxx:617 AGeoWinstonCone2D.cxx:618 AGeoWinstonCone2D.cxx:619 AGeoWinstonCone2D.cxx:620 AGeoWinstonCone2D.cxx:621 AGeoWinstonCone2D.cxx:622 AGeoWinstonCone2D.cxx:623 AGeoWinstonCone2D.cxx:624 AGeoWinstonCone2D.cxx:625 AGeoWinstonCone2D.cxx:626 AGeoWinstonCone2D.cxx:627 AGeoWinstonCone2D.cxx:628 AGeoWinstonCone2D.cxx:629 AGeoWinstonCone2D.cxx:630 AGeoWinstonCone2D.cxx:631 AGeoWinstonCone2D.cxx:632 AGeoWinstonCone2D.cxx:633 AGeoWinstonCone2D.cxx:634 AGeoWinstonCone2D.cxx:635 AGeoWinstonCone2D.cxx:636 AGeoWinstonCone2D.cxx:637 AGeoWinstonCone2D.cxx:638 AGeoWinstonCone2D.cxx:639 AGeoWinstonCone2D.cxx:640 AGeoWinstonCone2D.cxx:641 AGeoWinstonCone2D.cxx:642 AGeoWinstonCone2D.cxx:643 AGeoWinstonCone2D.cxx:644 AGeoWinstonCone2D.cxx:645 AGeoWinstonCone2D.cxx:646 AGeoWinstonCone2D.cxx:647 AGeoWinstonCone2D.cxx:648 AGeoWinstonCone2D.cxx:649 AGeoWinstonCone2D.cxx:650 AGeoWinstonCone2D.cxx:651 AGeoWinstonCone2D.cxx:652 AGeoWinstonCone2D.cxx:653 AGeoWinstonCone2D.cxx:654 AGeoWinstonCone2D.cxx:655 AGeoWinstonCone2D.cxx:656 AGeoWinstonCone2D.cxx:657 AGeoWinstonCone2D.cxx:658 AGeoWinstonCone2D.cxx:659 AGeoWinstonCone2D.cxx:660 AGeoWinstonCone2D.cxx:661 AGeoWinstonCone2D.cxx:662 AGeoWinstonCone2D.cxx:663 AGeoWinstonCone2D.cxx:664 AGeoWinstonCone2D.cxx:665 AGeoWinstonCone2D.cxx:666 AGeoWinstonCone2D.cxx:667 AGeoWinstonCone2D.cxx:668 AGeoWinstonCone2D.cxx:669 AGeoWinstonCone2D.cxx:670 AGeoWinstonCone2D.cxx:671 AGeoWinstonCone2D.cxx:672 AGeoWinstonCone2D.cxx:673 AGeoWinstonCone2D.cxx:674 AGeoWinstonCone2D.cxx:675 AGeoWinstonCone2D.cxx:676 AGeoWinstonCone2D.cxx:677 AGeoWinstonCone2D.cxx:678 AGeoWinstonCone2D.cxx:679 AGeoWinstonCone2D.cxx:680 AGeoWinstonCone2D.cxx:681 AGeoWinstonCone2D.cxx:682 AGeoWinstonCone2D.cxx:683 AGeoWinstonCone2D.cxx:684 AGeoWinstonCone2D.cxx:685 AGeoWinstonCone2D.cxx:686 AGeoWinstonCone2D.cxx:687 AGeoWinstonCone2D.cxx:688 AGeoWinstonCone2D.cxx:689 AGeoWinstonCone2D.cxx:690 AGeoWinstonCone2D.cxx:691 AGeoWinstonCone2D.cxx:692 AGeoWinstonCone2D.cxx:693 AGeoWinstonCone2D.cxx:694 AGeoWinstonCone2D.cxx:695 AGeoWinstonCone2D.cxx:696 AGeoWinstonCone2D.cxx:697 AGeoWinstonCone2D.cxx:698 AGeoWinstonCone2D.cxx:699 AGeoWinstonCone2D.cxx:700 AGeoWinstonCone2D.cxx:701 AGeoWinstonCone2D.cxx:702 AGeoWinstonCone2D.cxx:703 AGeoWinstonCone2D.cxx:704 AGeoWinstonCone2D.cxx:705 AGeoWinstonCone2D.cxx:706 AGeoWinstonCone2D.cxx:707 AGeoWinstonCone2D.cxx:708 AGeoWinstonCone2D.cxx:709 AGeoWinstonCone2D.cxx:710 AGeoWinstonCone2D.cxx:711 AGeoWinstonCone2D.cxx:712 AGeoWinstonCone2D.cxx:713 AGeoWinstonCone2D.cxx:714 AGeoWinstonCone2D.cxx:715 AGeoWinstonCone2D.cxx:716 AGeoWinstonCone2D.cxx:717 AGeoWinstonCone2D.cxx:718 AGeoWinstonCone2D.cxx:719 AGeoWinstonCone2D.cxx:720 AGeoWinstonCone2D.cxx:721 AGeoWinstonCone2D.cxx:722 AGeoWinstonCone2D.cxx:723 AGeoWinstonCone2D.cxx:724 AGeoWinstonCone2D.cxx:725 AGeoWinstonCone2D.cxx:726 AGeoWinstonCone2D.cxx:727 AGeoWinstonCone2D.cxx:728 AGeoWinstonCone2D.cxx:729 AGeoWinstonCone2D.cxx:730 AGeoWinstonCone2D.cxx:731 AGeoWinstonCone2D.cxx:732 AGeoWinstonCone2D.cxx:733 AGeoWinstonCone2D.cxx:734 AGeoWinstonCone2D.cxx:735 AGeoWinstonCone2D.cxx:736 AGeoWinstonCone2D.cxx:737 AGeoWinstonCone2D.cxx:738 AGeoWinstonCone2D.cxx:739 AGeoWinstonCone2D.cxx:740 AGeoWinstonCone2D.cxx:741