133   for (
Int_t i = 0; i < 20; i++)
 
 
  187              "\x1B[31m Found %d GDML entities missing explicit units, while the default " 
  188              "units are currently ROOT units [cm, deg]. This can cause unexpected behaviour with respect " 
  189              "to the GDML schema. To remove this warning, either use explicit units or call the static method " 
  190              "TGeoManager::SetDefaultUnits(kG4Units) before importing the GDML file \x1B[34m%s \x1B[0m",
 
 
  205   const char *
name = 
gdml->GetNodeName(node);
 
  210   const char *
posistr = 
"position";
 
  212   const char *
consstr = 
"constant";
 
  213   const char *
varistr = 
"variable";
 
  214   const char *
quanstr = 
"quantity";
 
  215   const char *
matrstr = 
"matrix";
 
  216   const char *
rotastr = 
"rotation";
 
  218   const char *
elemstr = 
"element";
 
  219   const char *
istpstr = 
"isotope";
 
  220   const char *
matestr = 
"material";
 
  221   const char *
volustr = 
"volume";
 
  222   const char *
assestr = 
"assembly";
 
  223   const char *
twtrstr = 
"twistedtrap";
 
  224   const char *
cutTstr = 
"cutTube";
 
  230   const char *
polystr = 
"polycone";
 
  233   const char *
trdstr = 
"trd";
 
  234   const char *
sphestr = 
"sphere";
 
  235   const char *
orbstr = 
"orb";
 
  238   const char *
hedrstr = 
"polyhedra";
 
  239   const char *
eltustr = 
"eltube";
 
  240   const char *
subtstr = 
"subtraction";
 
  242   const char *
parbstr = 
"paraboloid";
 
  243   const char *
intestr = 
"intersection";
 
  244   const char *
reflstr = 
"reflectedSolid";
 
  245   const char *
ssolstr = 
"scaledSolid";
 
  246   const char *
ellistr = 
"ellipsoid";
 
  247   const char *
elcnstr = 
"elcone";
 
  248   const char *
optsstr = 
"opticalsurface";
 
  249   const char *
skinstr = 
"skinsurface";
 
  250   const char *
bordstr = 
"bordersurface";
 
  251   const char *
usrstr = 
"userinfo";
 
  252   const char *
tslstr = 
"tessellated";
 
  318      int z = (
atom) ? 1 : 0;
 
  393      std::cout << 
"Error: Unsupported GDML Tag Used :" << 
name << 
". Please Check Geometry/Schema." << std::endl;
 
  399   while (
child != 
nullptr) {
 
 
  468   while (
attr != 
nullptr) {
 
 
  542   while (
attr != 
nullptr) {
 
 
  573   while (
attr != 
nullptr) {
 
  607      matrix->SetMatrixAsString(values.c_str());
 
  608      for (
size_t i = 0; i < 
valueList.size(); ++i)
 
 
  629   while (
attr != 
nullptr) {
 
  654   while (
child != 
nullptr) {
 
  657         while (
attr != 
nullptr) {
 
  666                  Error(
"OpticalSurfaceProcess", 
"Reference matrix %s for optical surface %s not found", ref.
Data(),
 
 
  689   if (
strcmp(unit, 
"mm") == 0) {
 
  691   } 
else if (
strcmp(unit, 
"millimeter") == 0 || 
strcmp(unit, 
"milimeter") == 0) {
 
  693   } 
else if (
strcmp(unit, 
"cm") == 0) {
 
  695   } 
else if (
strcmp(unit, 
"centimeter") == 0) {
 
  697   } 
else if (
strcmp(unit, 
"m") == 0) {
 
  699   } 
else if (
strcmp(unit, 
"meter") == 0) {
 
  701   } 
else if (
strcmp(unit, 
"km") == 0) {
 
  703   } 
else if (
strcmp(unit, 
"kilometer") == 0) {
 
  705   } 
else if (
strcmp(unit, 
"rad") == 0) {
 
  707   } 
else if (
strcmp(unit, 
"radian") == 0) {
 
  709   } 
else if (
strcmp(unit, 
"deg") == 0) {
 
  711   } 
else if (
strcmp(unit, 
"degree") == 0) {
 
  713   } 
else if (
strcmp(unit, 
"pi") == 0) {
 
  715   } 
else if (
strcmp(unit, 
"avogadro") == 0) {
 
  718      Fatal(
"GetScale", 
"Unit <%s> not known", unit);
 
 
  737   if ((unit == 
"mm") || (unit == 
"millimeter") || (unit == 
"milimeter")) {
 
  739   } 
else if ((unit == 
"cm") || (unit == 
"centimeter")) {
 
  741   } 
else if ((unit == 
"m") || (unit == 
"meter")) {
 
  743   } 
else if ((unit == 
"km") || (unit == 
"kilometer")) {
 
  745   } 
else if ((unit == 
"rad") || (unit == 
"radian")) {
 
  747   } 
else if ((unit == 
"deg") || (unit == 
"degree")) {
 
  749   } 
else if ((unit == 
"ev") || (unit == 
"electronvolt")) {
 
  751   } 
else if ((unit == 
"kev") || (unit == 
"kiloelectronvolt")) {
 
  753   } 
else if ((unit == 
"mev") || (unit == 
"megaelectronvolt")) {
 
  755   } 
else if ((unit == 
"gev") || (unit == 
"gigaelectronvolt")) {
 
  757   } 
else if (unit == 
"pi") {
 
  759   } 
else if (unit == 
"avogadro") {
 
  762      Fatal(
"GetScaleVal", 
"Unit <%s> not known", 
sunit);
 
 
  777   while (*end != 0 && 
isspace(*end))
 
  789   std::string expanded;
 
  794   const std::locale &
loc = std::locale::classic(); 
 
  800      for (; *
p != 0; ++
p) {
 
  801         if (std::isalpha(*
p, 
loc) || *
p == 
'_') {
 
  802            const char *
pe = 
p + 1;
 
  805            for (; *
pe != 0; ++
pe) {
 
  832   TFormula f(
"TFormula", expanded.c_str());
 
  836      f.SetParameter(it.first.c_str(), it.second);
 
  840   if (std::isnan(val) || std::isinf(val)) {
 
  841      Fatal(
"Value", 
"Got bad value %lf from string '%s'", val, 
svalue);
 
 
  865   while (
attr != 
nullptr) {
 
 
  921   while (
attr != 
nullptr) {
 
 
  979   while (
attr != 
nullptr) {
 
 
 1027   while (
attr != 
nullptr) {
 
 1047   while (
attr != 
nullptr) {
 
 1073   } 
else if (
gDebug >= 2) {
 
 1074      Info(
"TGDMLParse", 
"Re-use existing isotope: %s", 
iso->GetName());
 
 
 1110      while (
attr != 
nullptr) {
 
 1124      while (
child != 
nullptr) {
 
 1132            while (
attr != 
nullptr) {
 
 1152      if (
ele && 
ele->Z() == 0)
 
 1169      while (
attr != 
nullptr) {
 
 1184      while (
child != 
nullptr) {
 
 1192            while (
attr != 
nullptr) {
 
 1212      if (
ele && 
ele->Z() == 0)
 
 1228   while (
attr != 
nullptr) {
 
 1238      } 
else if (
tempattr == 
"formula") {
 
 1239         formula = 
gdml->GetAttrValue(
attr);
 
 1249   while (
attr != 
nullptr) {
 
 1270   if (
ele && 
ele->Z() == 0)
 
 1275   } 
else if (
gDebug >= 2) {
 
 1276      Info(
"TGDMLParse", 
"Re-use existing element: %s", 
ele->GetName());
 
 
 1305   static int medid = 
mgr->GetListOfMedia()->GetSize() + 1;
 
 1321      name = 
gdml->GetAttr(node, 
"name");
 
 1327      while (
child != 
nullptr) {
 
 1332            while (
attr != 
nullptr) {
 
 1337                  property->SetName(
gdml->GetAttrValue(
attr));
 
 1339                  property->SetTitle(
gdml->GetAttrValue(
attr));
 
 1347                        Error(
"MatProcess", 
"Reference %s for material %s not found", 
property->GetTitle(),
 
 1358            while (
attr != 
nullptr) {
 
 1370            while (
attr != 
nullptr) {
 
 1399         Info(
"TGDMLParse", 
"Re-use existing material: %s", 
mat->GetName());
 
 1422      } 
else if (
gDebug >= 2) {
 
 1423         Info(
"TGDMLParse", 
"Re-use existing material-element: %s", 
mat_ele->GetName());
 
 1429      while (
child != 
nullptr) {
 
 1434            while (
attr != 
nullptr) {
 
 1439                  property->SetName(
gdml->GetAttrValue(
attr));
 
 1441                  property->SetTitle(
gdml->GetAttrValue(
attr));
 
 1449                        Error(
"MatProcess", 
"Reference %s for material %s not found", 
property->GetTitle(),
 
 1463            while (
attr != 
nullptr) {
 
 1486            while (
attr != 
nullptr) {
 
 1501            while (
attr != 
nullptr) {
 
 1515      name = 
gdml->GetAttr(node, 
"name");
 
 1526      } 
else if (
mat->IsMixture()) {
 
 1529            Info(
"TGDMLParse", 
"Re-use existing material-mixture: %s", 
mix->GetName());
 
 1531         Fatal(
"TGDMLParse", 
"WARNING! Inconsistent material definitions between GDML and TGeoManager");
 
 1586   } 
else if (
gDebug >= 2) {
 
 1587      Info(
"TGDMLParse", 
"Re-use existing medium: %s", 
med->GetName());
 
 
 1602   while (
attr != 
nullptr) {
 
 1609      if (
tempattr == 
"surfaceproperty") {
 
 1616   while (
child != 
nullptr) {
 
 1619         while (
attr != 
nullptr) {
 
 1632      Fatal(
"SkinSurfaceProcess", 
"Skin surface %s: referenced optical surface %s not defined", 
name.Data(),
 
 
 1648   while (
attr != 
nullptr) {
 
 1655      if (
tempattr == 
"surfaceproperty") {
 
 1663   while (
child != 
nullptr) {
 
 1666         while (
attr != 
nullptr) {
 
 1678      Fatal(
"BorderSurfaceProcess", 
"Border surface %s not referencing two nodes", 
name.Data());
 
 1681      Fatal(
"BorderSurfaceProcess", 
"Border surface %s: referenced optical surface %s not defined", 
name.Data(),
 
 1686      Fatal(
"BorderSurfaceProcess", 
"Border surface %s: not found nodes %s [%s] or %s [%s]", 
name.Data(),
 
 
 1709      Error(
"GetPosition", 
"Position %s not defined", 
name);
 
 
 1728      Error(
"GetRotation", 
"Rotation %s not defined", 
name);
 
 
 1747      Error(
"GetScale", 
"Scale %s not defined", 
name);
 
 
 1766      Error(
"GetSolid", 
"Solid %s not defined", 
name);
 
 
 1785      Error(
"GetVolume", 
"Volume %s not defined", 
name);
 
 
 1824   while (
child != 
nullptr) {
 
 1849            printf(
"Medium: %s, Not Yet Defined!\n", 
gdml->GetAttr(
child, 
"ref"));
 
 1856   name = 
gdml->GetAttr(node, 
"name");
 
 1878   while (
child != 
nullptr) {
 
 1938            } 
else if (
tempattr == 
"position") {
 
 1943            } 
else if (
tempattr == 
"positionref") {
 
 1947                  Fatal(
"VolProcess", 
"Physvol's position %s not found", 
reftemp.Data());
 
 1948            } 
else if (
tempattr == 
"rotation") {
 
 1953            } 
else if (
tempattr == 
"rotationref") {
 
 1957                  Fatal(
"VolProcess", 
"Physvol's rotation %s not found", 
reftemp.Data());
 
 1963            } 
else if (
tempattr == 
"scaleref") {
 
 1967                  Fatal(
"VolProcess", 
"Physvol's scale %s not found", 
reftemp.Data());
 
 1983         if (
scl != 
nullptr) { 
 
 2034         while (
attr != 
nullptr) {
 
 2095            Fatal(
"VolProcess", 
"Cannot divide volume %s", vol->
GetName());
 
 2099            divvol->ReplayCreation(old);
 
 2122         while (
attr != 
nullptr) {
 
 2148            if (
tempattr == 
"replicate_along_axis") {
 
 2154                     while (
attr != 
nullptr) {
 
 2168                     while (
attr != 
nullptr) {
 
 2181                     while (
attr != 
nullptr) {
 
 2232            Fatal(
"VolProcess", 
"Cannot divide volume %s", vol->
GetName());
 
 2236            divvol->ReplayCreation(old);
 
 
 2310   while (
child != 
nullptr) {
 
 2318            Fatal(
"BooSolid", 
"First solid %s not found", 
reftemp.Data());
 
 2323            Fatal(
"BooSolid", 
"Second solid %s not found", 
reftemp.Data());
 
 2324      } 
else if (
tempattr == 
"position") {
 
 2329      } 
else if (
tempattr == 
"positionref") {
 
 2333            Fatal(
"BooSolid", 
"Second position %s not found", 
reftemp.Data());
 
 2334      } 
else if (
tempattr == 
"rotation") {
 
 2339      } 
else if (
tempattr == 
"rotationref") {
 
 2343            Fatal(
"BooSolid", 
"Second rotation %s not found", 
reftemp.Data());
 
 2344      } 
else if (
tempattr == 
"firstposition") {
 
 2349      } 
else if (
tempattr == 
"firstpositionref") {
 
 2353            Fatal(
"BooSolid", 
"First position %s not found", 
reftemp.Data());
 
 2354      } 
else if (
tempattr == 
"firstrotation") {
 
 2359      } 
else if (
tempattr == 
"firstrotationref") {
 
 2363            Fatal(
"BooSolid", 
"First rotation %s not found", 
reftemp.Data());
 
 
 2470   while (
child != 
nullptr) {
 
 2487            } 
else if (
tempattr == 
"positionref") {
 
 2491                  Fatal(
"AssProcess", 
"Position %s not found", 
reftemp.Data());
 
 2492            } 
else if (
tempattr == 
"position") {
 
 2497            } 
else if (
tempattr == 
"rotationref") {
 
 2501                  Fatal(
"AssProcess", 
"Rotation %s not found", 
reftemp.Data());
 
 2502            } 
else if (
tempattr == 
"rotation") {
 
 
 2535   const char *
name = 
gdml->GetAttr(node, 
"name");
 
 2540   while (
child != 
nullptr) {
 
 
 2571   while (
attr != 
nullptr) {
 
 
 2632   while (
attr != 
nullptr) {
 
 
 2718   while (
attr != 
nullptr) {
 
 2757      Info(
"ElCone", 
"ERROR! Parameter zcut = %.12g is not set properly, elcone will not be imported.", 
z1);
 
 
 2796   while (
attr != 
nullptr) {
 
 
 2866   while (
attr != 
nullptr) {
 
 
 2977   while (
attr != 
nullptr) {
 
 2996      } 
else if (
tempattr == 
"startphi") {
 
 2998      } 
else if (
tempattr == 
"deltaphi") {
 
 
 3057   while (
attr != 
nullptr) {
 
 3076      } 
else if (
tempattr == 
"startphi") {
 
 3078      } 
else if (
tempattr == 
"deltaphi") {
 
 
 3148   while (
attr != 
nullptr) {
 
 3171      } 
else if (
tempattr == 
"startphi") {
 
 3173      } 
else if (
tempattr == 
"deltaphi") {
 
 
 3235   while (
attr != 
nullptr) {
 
 
 3322   while (
attr != 
nullptr) {
 
 
 3389   while (
attr != 
nullptr) {
 
 3402      } 
else if (
tempattr == 
"startphi") {
 
 3404      } 
else if (
tempattr == 
"deltaphi") {
 
 3423   while (
child != 
nullptr) {
 
 3428      Fatal(
"Polycone", 
"Found less than 2 planes for polycone %s", 
name.Data());
 
 3435   double **table = 
new double *[
numplanes];
 
 3437      table[i] = 
new double[
cols];
 
 3443   while (
child != 
nullptr) {
 
 3452         while (
attr != 
nullptr) {
 
 3483      poly->DefineSection(
zno, table[
j][2], table[
j][0], table[
j][1]);
 
 
 3519   while (
attr != 
nullptr) {
 
 3532      } 
else if (
tempattr == 
"startphi") {
 
 3534      } 
else if (
tempattr == 
"deltaphi") {
 
 3536      } 
else if (
tempattr == 
"numsides") {
 
 3556   while (
child != 
nullptr) {
 
 3561      Fatal(
"Polyhedra", 
"Found less than 2 planes for polyhedra %s", 
name.Data());
 
 3568   double **table = 
new double *[
numplanes];
 
 3570      table[i] = 
new double[
cols];
 
 3576   while (
child != 
nullptr) {
 
 3584         while (
attr != 
nullptr) {
 
 3617      polyg->DefineSection(
zno, table[
j][2], table[
j][0], table[
j][1]);
 
 
 3652   while (
attr != 
nullptr) {
 
 3668      } 
else if (
tempattr == 
"startphi") {
 
 3670      } 
else if (
tempattr == 
"deltaphi") {
 
 3672      } 
else if (
tempattr == 
"starttheta") {
 
 3674      } 
else if (
tempattr == 
"deltatheta") {
 
 
 3725   while (
attr != 
nullptr) {
 
 3744      } 
else if (
tempattr == 
"startphi") {
 
 3746      } 
else if (
tempattr == 
"deltaphi") {
 
 
 3795   while (
attr != 
nullptr) {
 
 
 3865   while (
attr != 
nullptr) {
 
 
 3945   while (
attr != 
nullptr) {
 
 3981      } 
else if (
tempattr == 
"phitwist") {
 
 
 4034   while (
attr != 
nullptr) {
 
 
 4087   while (
attr != 
nullptr) {
 
 
 4144   while (
attr != 
nullptr) {
 
 4172   while (
child != 
nullptr) {
 
 4177      } 
else if (
tempattr == 
"section") {
 
 4185      Fatal(
"Xtru", 
"Invalid number of sections/vertices found forxtru %s", 
name.Data());
 
 4196   for (i = 0; i < 
nosects; i++) {
 
 4204   while (
child != 
nullptr) {
 
 4211         while (
attr != 
nullptr) {
 
 4238         while (
attr != 
nullptr) {
 
 4244            } 
else if (
tempattr == 
"zPosition") {
 
 4248            } 
else if (
tempattr == 
"xOffset") {
 
 4252            } 
else if (
tempattr == 
"yOffset") {
 
 4256            } 
else if (
tempattr == 
"scalingFactor") {
 
 4273   for (
int j = 0; 
j < 
sect; 
j++) {
 
 4280   for (i = 0; i < 
nosects; i++) {
 
 
 4299   while (
attr != 
nullptr) {
 
 4317      if (trans == 
nullptr)
 
 4319      const double *
tr = trans->GetTranslation();
 
 4325         vertices[2] += vertices[0] + vertices[1];
 
 4326         vertices[1] += vertices[0];
 
 4328      tsl->AddFacet(vertices[0], vertices[1], vertices[2]);
 
 4333         vertices[3] += vertices[0] + vertices[1] + vertices[2];
 
 4334         vertices[2] += vertices[0] + vertices[1];
 
 4335         vertices[1] += vertices[0];
 
 4337      tsl->AddFacet(vertices[0], vertices[1], vertices[2], vertices[3]);
 
 4342   while (
child != 
nullptr) {
 
 4349         while (
attr != 
nullptr) {
 
 4356                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4364                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4372                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4387      else if (
tempattr == 
"quadrangular") {
 
 4391         while (
attr != 
nullptr) {
 
 4398                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4406                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4414                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4422                  Fatal(
"Tessellated", 
"Vertex %s not defined", 
vname.Data());
 
 4438   tsl->CloseShape(
false);
 
 
 4461   while (
attr != 
nullptr) {
 
 4474   while (
child != 
nullptr) {
 
 4492      } 
else if (
tempattr == 
"scaleref") {
 
 4496            Fatal(
"ScaledSolid", 
"Solid's scale %s not found", 
reftemp.Data());
 
 
 4520   std::cout << 
"WARNING! The reflectedSolid is obsolete! Use scale transformation instead!" << std::endl;
 
 4535   while (
attr != 
nullptr) {
 
 4578   if (atoi(
sx) == -1) {
 
 4581   if (atoi(
sy) == -1) {
 
 4584   if (atoi(
sz) == -1) {
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t atom
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t child
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Option_t Option_t TPoint TPoint const char x2
 
Option_t Option_t TPoint TPoint const char x1
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void xpos
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t attr
 
Option_t Option_t TPoint TPoint const char y2
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void ypos
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t property
 
Option_t Option_t TPoint TPoint const char y1
 
R__EXTERN TGeoManager * gGeoManager
 
const_iterator begin() const
 
const_iterator end() const
 
This class is used in the process of reading and writing the GDML "matrix" tag.
 
This class contains the implementation of the GDML parser associated to all the supported GDML elemen...
 
XMLNodePointer_t Ellipsoid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an ellipsoid may be declared.
 
double Evaluate(const char *evalline)
Takes a string containing a mathematical expression and returns the value of the expression.
 
TGeoVolume * GDMLReadFile(const char *filename="test.gdml")
Creates the new instance of the XMLEngine called 'gdml', using the filename >> then parses the file a...
 
XMLNodePointer_t Reflection(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Reflected Solid may be declared when the ReflectedSolid key...
 
XMLNodePointer_t TopProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the setup section of the GDML file, the top volume need to be declared.
 
TGeoVolume * GetVolume(const char *name)
 
TGeoScale * GetScaleObj(const char *name)
 
ReflSolidMap freflsolidmap
Map containing reflection names and the Solid name ir references to.
 
const char * ParseGDML(TXMLEngine *gdml, XMLNodePointer_t node)
This function recursively moves thru the DOM tree of the GDML file.
 
XMLNodePointer_t SclProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, rotations can be declared.
 
XMLNodePointer_t BorderSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the structure section of the GDML file, border surfaces can be declared.
 
XMLNodePointer_t Trd(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Trd may be declared.
 
const char * fCurrentFile
 
TGeoRotation * GetRotation(const char *name)
 
void DefineConstants()
Define constant expressions used.
 
const char * NameShort(const char *name)
This function looks thru a string for the chars '0x' next to each other, when it finds this,...
 
XMLNodePointer_t Orb(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Orb may be declared.
 
FileMap ffilemap
Map containing reflected volume names and the solid ref for it.
 
MatrixMap fmatrices
Map containing values of constants declared in the file.
 
XMLNodePointer_t Hype(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Hype may be declared.
 
VolMap fvolmap
Map containing solid names and the TGeoShape for it.
 
double GetScaleVal(const char *unit)
Throughout the GDML file, a unit can de specified.
 
std::string fDefault_lunit
 
XMLNodePointer_t BooSolid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr, int num)
In the solid section of the GDML file, boolean solids can be declared.
 
XMLNodePointer_t Para(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Para may be declared.
 
XMLNodePointer_t Arb8(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Arb8 may be declared.
 
RotMap frotmap
Map containing position names and the TGeoTranslation for it.
 
XMLNodePointer_t PosProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, positions can be declared.
 
ReflVolMap freflvolmap
Map containing reflection names and the TGDMLRefl for it - containing refl matrix.
 
XMLNodePointer_t Sphere(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Sphere may be declared.
 
ReflectionsMap freflectmap
Map containing placed volume names and the TGeoNode for it.
 
XMLNodePointer_t Trap(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Trap may be declared.
 
std::map< std::string, double > FracMap
 
XMLNodePointer_t EleProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLNodePointer_t parentn, Bool_t hasIsotopes, Bool_t hasIsotopesExtended)
When the element keyword is found, this function is called, and the name and values of the element ar...
 
XMLNodePointer_t Polyhedra(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Polyhedra may be declared.
 
XMLNodePointer_t Cone(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a cone may be declared.
 
XMLNodePointer_t ElCone(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an elliptical cone may be declared.
 
MatMap fmatmap
Map containing element names and the TGeoElement for it.
 
SclMap fsclmap
Map containing rotation names and the TGeoRotation for it.
 
XMLNodePointer_t MatrixProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, matrices These are referenced by other GDML tags,...
 
XMLNodePointer_t Tessellated(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a tessellated shape may be declared.
 
IsoMap fisomap
Map containing scale names and the TGeoScale for it.
 
XMLNodePointer_t IsoProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLNodePointer_t parentn)
In the material section of the GDML file, an isotope may be declared.
 
PvolMap fpvolmap
Map containing volume names and the TGeoVolume for it.
 
double Value(const char *svalue) const
Convert number in string format to double value.
 
TGeoTranslation * GetPosition(const char *name)
 
XMLNodePointer_t TwistTrap(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a TwistTrap may be declared.
 
MedMap fmedmap
Map containing material names and the TGeoMaterial for it.
 
XMLNodePointer_t Paraboloid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Paraboloid may be declared.
 
Int_t SetAxis(const char *axisString)
When using the 'divide' process in the geometry this function sets the variable 'axis' depending on w...
 
ConstMap fconsts
Map containing files parsed during entire parsing, with their world volume name.
 
std::string fDefault_aunit
 
XMLNodePointer_t QuantityProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, quantities can be declared.
 
XMLNodePointer_t Polycone(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Polycone may be declared.
 
XMLNodePointer_t Box(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a box may be declared.
 
SolMap fsolmap
Map containing mixture names and the TGeoMixture for it.
 
EleMap felemap
Map containing isotope names and the TGeoIsotope for it.
 
XMLNodePointer_t Tube(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Tube may be declared.
 
TString GetScale(const char *unit)
Throughout the GDML file, a unit can de specified.
 
XMLNodePointer_t AssProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the structure section of the GDML file, assembly volumes can be declared.
 
TGeoShape * GetSolid(const char *name)
 
TXMLEngine * fFileEngine[20]
 
XMLNodePointer_t RotProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, rotations can be declared.
 
XMLNodePointer_t Torus(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Torus may be declared.
 
XMLNodePointer_t ConProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, constants can be declared.
 
XMLNodePointer_t VolProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the structure section of the GDML file, volumes can be declared.
 
XMLNodePointer_t OpticalSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, optical surfaces can be defined.
 
XMLNodePointer_t SkinSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the structure section of the GDML file, skin surfaces can be declared.
 
XMLNodePointer_t ElTube(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a ElTube may be declared.
 
XMLNodePointer_t Xtru(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Xtru may be declared.
 
XMLNodePointer_t MatProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr, int z)
In the materials section of the GDML file, materials can be declared.
 
XMLNodePointer_t CutTube(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Cut Tube may be declared.
 
XMLNodePointer_t ScaledSolid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Scaled Solid may be declared when the scaledSolid keyword i...
 
MixMap fmixmap
Map containing medium names and the TGeoMedium for it.
 
XMLNodePointer_t UsrProcess(TXMLEngine *gdml, XMLNodePointer_t node)
User data to be processed.
 
This class is a helper class for TGDMLParse.
 
TGeoMatrix * fMatrix
solid name being reflected
 
TGeoMatrix * GetMatrix()
This accessor method returns the matrix.
 
const char * fSolid
reflected solid name
 
An arbitrary trapezoid with less than 8 vertices standing on two parallel planes perpendicular to Z a...
 
Base class for Boolean operations between two shapes.
 
Class describing rotation + translation.
 
Composite shapes are Boolean combinations of two or more shape components.
 
A cone segment is a cone having a range in phi.
 
The cones are defined by 5 parameters:
 
The cut tubes constructor has the form:
 
Base class for chemical elements.
 
An elliptical tube is defined by the two semi-axes A and B.
 
Matrix class used for computing global transformations Should NOT be used for node definition.
 
A hyperboloid is represented as a solid limited by two planes perpendicular to the Z axis (top and bo...
 
The manager class for any TGeo geometry.
 
void AddSkinSurface(TGeoSkinSurface *surf)
Add skin surface;.
 
static EDefaultUnits GetDefaultUnits()
 
void AddGDMLMatrix(TGDMLMatrix *mat)
Add GDML matrix;.
 
void AddBorderSurface(TGeoBorderSurface *surf)
Add border surface;.
 
void AddOpticalSurface(TGeoOpticalSurface *optsurf)
Add optical surface;.
 
Double_t GetProperty(const char *name, Bool_t *error=nullptr) const
Get a user-defined property.
 
TGeoOpticalSurface * GetOpticalSurface(const char *name) const
Get optical surface with a given name;.
 
Bool_t AddProperty(const char *property, Double_t value)
Add a user-defined property. Returns true if added, false if existing.
 
Int_t AddRegion(TGeoRegion *region)
Add a new region of volumes.
 
TList * GetListOfMaterials() const
 
Base class describing materials.
 
Geometrical transformation package.
 
Media are used to store properties related to tracking and which are useful only when using geometry ...
 
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
 
This is a wrapper class to G4OpticalSurface.
 
static ESurfaceType StringToType(const char *type)
 
static ESurfaceFinish StringToFinish(const char *finish)
 
static ESurfaceModel StringToModel(const char *model)
 
A paraboloid is defined by the revolution surface generated by a parabola and is bounded by two plane...
 
A polycone is represented by a sequence of tubes/cones, glued together at defined Z planes.
 
Polygons are defined in the same way as polycones, the difference being just that the segments betwee...
 
Reference counted extension which has a pointer to and owns a user defined TObject.
 
Regions are groups of volumes having a common set of user tracking cuts.
 
Class describing rotations.
 
Class describing scale transformations.
 
A shape scaled by a TGeoScale transformation.
 
Base abstract class for all shapes.
 
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const =0
 
TGeoSphere are not just balls having internal and external radii, but sectors of a sphere having defi...
 
The torus is defined by its axial radius, its inner and outer radius.
 
Class describing translations.
 
const Double_t * GetTranslation() const override
 
A trapezoid with only X varying with Z.
 
A tube segment is a tube having a range in phi.
 
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
 
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the volume.
 
TGeoMedium * GetMedium() const
 
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.
 
Int_t GetNdaughters() const
 
TGeoShape * GetShape() const
 
virtual TGeoVolume * Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
Division a la G3.
 
A TGeoXtru shape is represented by the extrusion of an arbitrary polygon with fixed outline between s...
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
 
The TNamed class is the base class for all named ROOT classes.
 
const char * GetName() const override
Returns name of object.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
TObject * Last() const override
Return the object in the last filled slot. Returns 0 if no entries.
 
Collectable string class.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
void ToLower()
Change string to lower-case.
 
const char * Data() const
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
 
static constexpr double GeV
 
static constexpr double us
 
static constexpr double s
 
static constexpr double mm
 
static constexpr double g
 
static constexpr double km
 
static constexpr double keV
 
static constexpr double ns
 
static constexpr double m
 
static constexpr double cm
 
static constexpr double ms
 
static constexpr double kg
 
static constexpr double mg
 
static constexpr double eV
 
static constexpr double MeV
 
static constexpr double mg
 
static constexpr double us
 
static constexpr double ms
 
static constexpr double s
 
static constexpr double mm
 
static constexpr double MeV
 
static constexpr double pi
 
static constexpr double keV
 
static constexpr double GeV
 
static constexpr double twopi
 
static constexpr double rad
 
static constexpr double kg
 
static constexpr double cm
 
static constexpr double m
 
static constexpr double ns
 
static constexpr double deg
 
static constexpr double eV
 
static constexpr double g
 
static constexpr double km
 
constexpr Double_t Na()
Avogadro constant (Avogadro's Number) in .
 
constexpr Double_t RadToDeg()
Conversion from radian to degree: .
 
Typedefs used by the geometry group.
 
void Set(double const &a, double const &b, double const &c)