Logo ROOT  
Reference Guide
TGDMLParse.h
Go to the documentation of this file.
1 /* @(#)root/gdml:$Id$ */
2 // Authors: Ben Lloyd 09/11/06
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TGDMLParse
13 #define ROOT_TGDMLParse
14 
15 #include "TFormula.h"
16 #include "TXMLEngine.h"
17 #include "TGeoMatrix.h"
18 #include "TGeoVolume.h"
19 #include "TGeoElement.h"
20 
21 #include <map>
22 #include <iostream>
23 
24 class TGDMLMatrix;
25 
26 /*************************************************************************
27  * TGDMLRefl - helper class for the import of GDML to ROOT. *
28  *************************************************************************/
29 
30 class TGDMLRefl : public TObject {
31 public:
32 
34 
35  fNameS = "";
36  fSolid = "";
37  fMatrix = 0;
38  }
39 
40  virtual ~TGDMLRefl() {}
41 
42  TGDMLRefl(const char* name, const char* solid, TGeoMatrix* matrix);
44 
45 private:
46 
47  const char* fNameS; //!reflected solid name
48  const char* fSolid; //!solid name being reflected
49  TGeoMatrix *fMatrix; //!matrix of reflected solid
50 
51  ClassDef(TGDMLRefl, 0) //helper class used for the storage of reflected solids
52 };
53 
54 /*************************************************************************
55  * TGDMLParse - base class for the import of GDML to ROOT. *
56  *************************************************************************/
57 
58 class TGDMLBaseTGDMMapHelper : public std::map<std::string, const void *> {
59 };
60 
61 //map's [] operator returns reference.
62 //to avoid ugly UB casts like static_cast<SomeType * &>(voidPtrLValue)
63 //I have this helper class.
64 template<typename T>
65 
67 private:
68  TGDMLBaseTGDMMapHelper::iterator fPosInMap;
69 
70 public:
71  TGDMAssignmentHelper(TGDMLBaseTGDMMapHelper &baseMap, const std::string &key) {
72  baseMap[key];//if we do not have this key-value pair before, insert it now (with zero for pointer).
73  //find iterator for this key now :)
74  fPosInMap = baseMap.find(key);
75  }
76 
77  operator T * ()const {
78  return (T*)fPosInMap->second;//const_cast<T*>(static_cast<const T *>(fPosInMap->second));
79  }
80 
82  fPosInMap->second = ptr;
83  return *this;
84  }
85 };
86 
87 template<class T>
89 public:
90  TGDMAssignmentHelper<T> operator [](const std::string &key) {
91  return TGDMAssignmentHelper<T>(*this, key);
92  }
93 };
94 
95 class TGDMLParse : public TObject {
96 public:
97 
99  TGeoVolume* fWorld; //top volume of geometry
100  int fVolID; //volume ID, incremented as assigned.
101  int fFILENO; //Holds which level of file the parser is at
102  TXMLEngine* fFileEngine[20]; //array of dom object pointers
103  const char* fStartFile; //name of originating file
104  const char* fCurrentFile; //current file name being parsed
105  std::string fDefault_lunit = "mm";
106  std::string fDefault_aunit = "rad";
107 
108  TGDMLParse();
109  virtual ~TGDMLParse() {}
110 
111  static TGeoVolume* StartGDML(const char* filename) {
112  TGDMLParse* parser = new TGDMLParse;
113  TGeoVolume* world = parser->GDMLReadFile(filename);
114  return world;
115  }
116 
117  TGeoVolume* GDMLReadFile(const char* filename = "test.gdml");
118 
119 private:
120 
121  const char* ParseGDML(TXMLEngine* gdml, XMLNodePointer_t node) ;
122  TString GetScale(const char* unit);
123  double GetScaleVal(const char* unit);
124  double Evaluate(const char* evalline);
125  const char* NameShort(const char* name);
126  double Value(const char *svalue) const;
127  void DefineConstants();
128 
129  //'define' section
136 
137  //'materials' section
139  XMLNodePointer_t EleProcess(TXMLEngine* gdml, XMLNodePointer_t node, XMLNodePointer_t parentn, Bool_t hasIsotopes, Bool_t hasIsotopesExtended);
141 
142  //'solids' section
167 
168  //'structure' section
174  Int_t SetAxis(const char* axisString); //Set Axis for Division
175 
176  //'setup' section
178 
187 
194  typedef std::map<std::string, std::string> ReflectionsMap;
195  typedef std::map<std::string, std::string> ReflVolMap;
196  typedef std::map<std::string, double> FracMap;
197  typedef std::map<std::string, double> ConstMap;
198 
199  PosMap fposmap; //!Map containing position names and the TGeoTranslation for it
200  RotMap frotmap; //!Map containing rotation names and the TGeoRotation for it
201  SclMap fsclmap; //!Map containing scale names and the TGeoScale for it
202  IsoMap fisomap; //!Map containing isotope names and the TGeoIsotope for it
203  EleMap felemap; //!Map containing element names and the TGeoElement for it
204  MatMap fmatmap; //!Map containing material names and the TGeoMaterial for it
205  MedMap fmedmap; //!Map containing medium names and the TGeoMedium for it
206  MixMap fmixmap; //!Map containing mixture names and the TGeoMixture for it
207  SolMap fsolmap; //!Map containing solid names and the TGeoShape for it
208  VolMap fvolmap; //!Map containing volume names and the TGeoVolume for it
209  PvolMap fpvolmap; //!Map containing placed volume names and the TGeoNode for it
210  ReflectionsMap freflectmap; //!Map containing reflection names and the Solid name ir references to
211  ReflSolidMap freflsolidmap; //!Map containing reflection names and the TGDMLRefl for it - containing refl matrix
212  ReflVolMap freflvolmap; //!Map containing reflected volume names and the solid ref for it
213  FileMap ffilemap; //!Map containing files parsed during entire parsing, with their world volume name
214  ConstMap fconsts; //!Map containing values of constants declared in the file
215  MatrixMap fmatrices; //!Map containing matrices defined in the GDML file
216 
217  ClassDef(TGDMLParse, 0) //imports GDML using DOM and binds it to ROOT
218 };
219 
220 #endif
TGDMLParse::TopProcess
XMLNodePointer_t TopProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the setup section of the GDML file, the top volume need to be declared.
Definition: TGDMLParse.cxx:2481
TGDMLParse::OpticalSurfaceProcess
XMLNodePointer_t OpticalSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, optical surfaces can be defined.
Definition: TGDMLParse.cxx:604
TGDMMapHelper
Definition: TGDMLParse.h:88
TGDMLParse::~TGDMLParse
virtual ~TGDMLParse()
Definition: TGDMLParse.h:109
TGDMLParse::PosProcess
XMLNodePointer_t PosProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, positions can be declared.
Definition: TGDMLParse.cxx:838
TGDMLParse::Arb8
XMLNodePointer_t Arb8(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Arb8 may be declared.
Definition: TGDMLParse.cxx:2782
TGDMLParse::Torus
XMLNodePointer_t Torus(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Torus may be declared.
Definition: TGDMLParse.cxx:3610
TGDMLParse::ReflectionsMap
std::map< std::string, std::string > ReflectionsMap
Definition: TGDMLParse.h:194
TGDMLParse::fconsts
ConstMap fconsts
Map containing files parsed during entire parsing, with their world volume name.
Definition: TGDMLParse.h:214
TGDMLParse::Para
XMLNodePointer_t Para(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Para may be declared.
Definition: TGDMLParse.cxx:3739
TGDMLParse::fStartFile
const char * fStartFile
Definition: TGDMLParse.h:103
TGDMLParse::TGDMLParse
TGDMLParse()
Constructor.
Definition: TGDMLParse.cxx:127
TGDMLParse::fmedmap
MedMap fmedmap
Map containing material names and the TGeoMaterial for it.
Definition: TGDMLParse.h:205
TGDMLParse::RotProcess
XMLNodePointer_t RotProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, rotations can be declared.
Definition: TGDMLParse.cxx:890
TGDMLParse::NameShort
const char * NameShort(const char *name)
This function looks thru a string for the chars '0x' next to each other, when it finds this,...
Definition: TGDMLParse.cxx:435
TGDMLParse::RotMap
TGDMMapHelper< TGeoRotation > RotMap
Definition: TGDMLParse.h:180
TGDMLParse::Polyhedra
XMLNodePointer_t Polyhedra(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Polyhedra may be declared.
Definition: TGDMLParse.cxx:3413
TGDMAssignmentHelper::operator=
TGDMAssignmentHelper & operator=(const T *ptr)
Definition: TGDMLParse.h:81
TGDMLParse::MixMap
TGDMMapHelper< TGeoMixture > MixMap
Definition: TGDMLParse.h:186
TGDMLParse::fvolmap
VolMap fvolmap
Map containing solid names and the TGeoShape for it.
Definition: TGDMLParse.h:208
TGDMLParse::fFileEngine
TXMLEngine * fFileEngine[20]
Definition: TGDMLParse.h:102
TGDMLParse::SetAxis
Int_t SetAxis(const char *axisString)
When using the 'divide' process in the geometry this function sets the variable 'axis' depending on w...
Definition: TGDMLParse.cxx:410
TGDMLParse::SclMap
TGDMMapHelper< TGeoScale > SclMap
Definition: TGDMLParse.h:181
TGDMLParse::freflsolidmap
ReflSolidMap freflsolidmap
Map containing reflection names and the Solid name ir references to.
Definition: TGDMLParse.h:211
TGDMLParse::ReflVolMap
std::map< std::string, std::string > ReflVolMap
Definition: TGDMLParse.h:195
Int_t
int Int_t
Definition: RtypesCore.h:45
TGeoVolume.h
TGDMLParse::ReflSolidMap
TGDMMapHelper< TGDMLRefl > ReflSolidMap
Definition: TGDMLParse.h:192
TGDMLParse::ParseGDML
const char * ParseGDML(TXMLEngine *gdml, XMLNodePointer_t node)
This function recursively moves thru the DOM tree of the GDML file.
Definition: TGDMLParse.cxx:193
TGDMLParse::freflvolmap
ReflVolMap freflvolmap
Map containing reflection names and the TGDMLRefl for it - containing refl matrix.
Definition: TGDMLParse.h:212
TGDMLParse::SkinSurfaceProcess
XMLNodePointer_t SkinSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the structure section of the GDML file, skin surfaces can be declared.
Definition: TGDMLParse.cxx:1575
TGDMLParse::fDefault_aunit
std::string fDefault_aunit
Definition: TGDMLParse.h:106
TGDMLParse::QuantityProcess
XMLNodePointer_t QuantityProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, quantities can be declared.
Definition: TGDMLParse.cxx:524
TGDMLParse::fmixmap
MixMap fmixmap
Map containing medium names and the TGeoMedium for it.
Definition: TGDMLParse.h:206
TGDMLBaseTGDMMapHelper
Definition: TGDMLParse.h:58
TString
Basic string class.
Definition: TString.h:136
TGDMLParse::ElCone
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.
Definition: TGDMLParse.cxx:2653
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TGDMLParse::fsclmap
SclMap fsclmap
Map containing rotation names and the TGeoRotation for it.
Definition: TGDMLParse.h:201
TGDMLParse::fFILENO
int fFILENO
Definition: TGDMLParse.h:101
TGDMLParse::MatProcess
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.
Definition: TGDMLParse.cxx:1272
TGDMLParse::UsrProcess
XMLNodePointer_t UsrProcess(TXMLEngine *gdml, XMLNodePointer_t node)
User data to be processed.
Definition: TGDMLParse.cxx:2326
TGDMAssignmentHelper
Definition: TGDMLParse.h:66
TGDMLParse::fWorldName
TString fWorldName
Definition: TGDMLParse.h:98
TGDMLParse::MedMap
TGDMMapHelper< TGeoMedium > MedMap
Definition: TGDMLParse.h:185
TGDMLParse::fsolmap
SolMap fsolmap
Map containing mixture names and the TGeoMixture for it.
Definition: TGDMLParse.h:207
TGDMLParse::EleProcess
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...
Definition: TGDMLParse.cxx:1061
TGDMLParse::fVolID
int fVolID
Definition: TGDMLParse.h:100
TGDMLRefl::fMatrix
TGeoMatrix * fMatrix
solid name being reflected
Definition: TGDMLParse.h:49
TGDMLParse::Tube
XMLNodePointer_t Tube(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Tube may be declared.
Definition: TGDMLParse.cxx:2900
TGDMLParse::AssProcess
XMLNodePointer_t AssProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the structure section of the GDML file, assembly volumes can be declared.
Definition: TGDMLParse.cxx:2379
TGDMLParse::VolProcess
XMLNodePointer_t VolProcess(TXMLEngine *gdml, XMLNodePointer_t node)
In the structure section of the GDML file, volumes can be declared.
Definition: TGDMLParse.cxx:1687
TXMLEngine.h
TGDMLRefl::GetMatrix
TGeoMatrix * GetMatrix()
This accessor method returns the matrix.
Definition: TGDMLParse.cxx:4440
TGDMLParse::MatrixMap
TGDMMapHelper< TGDMLMatrix > MatrixMap
Definition: TGDMLParse.h:191
TGDMLParse::ElTube
XMLNodePointer_t ElTube(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a ElTube may be declared.
Definition: TGDMLParse.cxx:3903
TGDMLParse::PvolMap
TGDMMapHelper< TGeoNode > PvolMap
Definition: TGDMLParse.h:190
TGDMLParse::PosMap
TGDMMapHelper< TGeoTranslation > PosMap
Definition: TGDMLParse.h:179
TGDMLParse::frotmap
RotMap frotmap
Map containing position names and the TGeoTranslation for it.
Definition: TGDMLParse.h:200
TXMLEngine
Definition: TXMLEngine.h:26
TGDMLRefl
This class is a helper class for TGDMLParse.
Definition: TGDMLParse.h:30
TGDMMapHelper::operator[]
TGDMAssignmentHelper< T > operator[](const std::string &key)
Definition: TGDMLParse.h:90
TGDMLParse::Cone
XMLNodePointer_t Cone(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a cone may be declared.
Definition: TGDMLParse.cxx:3059
TGeoElement.h
TGDMLParse::fmatmap
MatMap fmatmap
Map containing element names and the TGeoElement for it.
Definition: TGDMLParse.h:204
TGDMLParse::fposmap
PosMap fposmap
Definition: TGDMLParse.h:199
TGDMLParse::ConProcess
XMLNodePointer_t ConProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, constants can be declared.
Definition: TGDMLParse.cxx:451
TGDMLParse::IsoProcess
XMLNodePointer_t IsoProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLNodePointer_t parentn)
In the material section of the GDML file, an isotope may be declared.
Definition: TGDMLParse.cxx:991
TGDMLParse::Xtru
XMLNodePointer_t Xtru(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Xtru may be declared.
Definition: TGDMLParse.cxx:4003
XMLAttrPointer_t
void * XMLAttrPointer_t
Definition: TXMLEngine.h:19
TGDMLParse::fpvolmap
PvolMap fpvolmap
Map containing volume names and the TGeoVolume for it.
Definition: TGDMLParse.h:209
TGDMLRefl::fNameS
const char * fNameS
Definition: TGDMLParse.h:47
XMLNodePointer_t
void * XMLNodePointer_t
Definition: TXMLEngine.h:17
TGDMLRefl::~TGDMLRefl
virtual ~TGDMLRefl()
Definition: TGDMLParse.h:40
TGDMLParse::fWorld
TGeoVolume * fWorld
Definition: TGDMLParse.h:99
TGDMLParse::Trd
XMLNodePointer_t Trd(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Trd may be declared.
Definition: TGDMLParse.cxx:3227
TGDMLParse::fDefault_lunit
std::string fDefault_lunit
Definition: TGDMLParse.h:105
TGDMLParse::StartGDML
static TGeoVolume * StartGDML(const char *filename)
Definition: TGDMLParse.h:111
TGDMAssignmentHelper::TGDMAssignmentHelper
TGDMAssignmentHelper(TGDMLBaseTGDMMapHelper &baseMap, const std::string &key)
Definition: TGDMLParse.h:71
TGDMLParse::GetScale
TString GetScale(const char *unit)
Throughout the GDML file, a unit can de specified.
Definition: TGDMLParse.cxx:669
TGDMLRefl::TGDMLRefl
TGDMLRefl()
Definition: TGDMLParse.h:33
TGDMLParse::ConstMap
std::map< std::string, double > ConstMap
Definition: TGDMLParse.h:197
TGDMLParse::Paraboloid
XMLNodePointer_t Paraboloid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Paraboloid may be declared.
Definition: TGDMLParse.cxx:2729
TGDMLParse::SolMap
TGDMMapHelper< TGeoShape > SolMap
Definition: TGDMLParse.h:188
TGeoMatrix.h
TGDMLMatrix
This class is used in the process of reading and writing the GDML "matrix" tag.
Definition: TGDMLMatrix.h:34
TGDMLParse::fmatrices
MatrixMap fmatrices
Map containing values of constants declared in the file.
Definition: TGDMLParse.h:215
TGDMLParse::TwistTrap
XMLNodePointer_t TwistTrap(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a TwistTrap may be declared.
Definition: TGDMLParse.cxx:3808
TGDMLParse::BooSolid
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.
Definition: TGDMLParse.cxx:2181
TGDMLParse::felemap
EleMap felemap
Map containing isotope names and the TGeoIsotope for it.
Definition: TGDMLParse.h:203
TGDMLParse::IsoMap
TGDMMapHelper< TGeoIsotope > IsoMap
Definition: TGDMLParse.h:183
TGDMLParse::Reflection
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...
Definition: TGDMLParse.cxx:4333
TGDMLParse::Evaluate
double Evaluate(const char *evalline)
Takes a string containing a mathematical expression and returns the value of the expression.
Definition: TGDMLParse.cxx:400
TGDMAssignmentHelper::fPosInMap
TGDMLBaseTGDMMapHelper::iterator fPosInMap
Definition: TGDMLParse.h:68
TGeoMatrix
Geometrical transformation package.
Definition: TGeoMatrix.h:41
TGDMLParse::Value
double Value(const char *svalue) const
Convert number in string format to double value.
Definition: TGDMLParse.cxx:755
TGDMLParse::ffilemap
FileMap ffilemap
Map containing reflected volume names and the solid ref for it.
Definition: TGDMLParse.h:213
TGDMLParse::VolMap
TGDMMapHelper< TGeoVolume > VolMap
Definition: TGDMLParse.h:189
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TGDMLParse
This class contains the implementation of the GDML parser associated to all the supported GDML elemen...
Definition: TGDMLParse.h:95
TGDMLParse::MatrixProcess
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,...
Definition: TGDMLParse.cxx:555
name
char name[80]
Definition: TGX11.cxx:110
TGDMLParse::Sphere
XMLNodePointer_t Sphere(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Sphere may be declared.
Definition: TGDMLParse.cxx:3541
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:34
TGDMLParse::DefineConstants
void DefineConstants()
Define constant expressions used.
Definition: TGDMLParse.cxx:483
TGDMLParse::GDMLReadFile
TGeoVolume * GDMLReadFile(const char *filename="test.gdml")
Creates the new instance of the XMLEngine called 'gdml', using the filename >> then parses the file a...
Definition: TGDMLParse.cxx:158
TGDMLParse::EleMap
TGDMMapHelper< TGeoElement > EleMap
Definition: TGDMLParse.h:182
TGDMLParse::Polycone
XMLNodePointer_t Polycone(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Polycone may be declared.
Definition: TGDMLParse.cxx:3289
TGDMLParse::BorderSurfaceProcess
XMLNodePointer_t BorderSurfaceProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the structure section of the GDML file, border surfaces can be declared.
Definition: TGDMLParse.cxx:1621
TGDMLParse::SclProcess
XMLNodePointer_t SclProcess(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the define section of the GDML file, rotations can be declared.
Definition: TGDMLParse.cxx:947
TGDMLParse::FileMap
TGDMMapHelper< const char > FileMap
Definition: TGDMLParse.h:193
TGDMLParse::Tessellated
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.
Definition: TGDMLParse.cxx:4165
TGDMLRefl::fSolid
const char * fSolid
reflected solid name
Definition: TGDMLParse.h:48
TGDMLParse::CutTube
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.
Definition: TGDMLParse.cxx:2969
TGDMLParse::GetScaleVal
double GetScaleVal(const char *unit)
Throughout the GDML file, a unit can de specified.
Definition: TGDMLParse.cxx:714
TGDMLParse::Orb
XMLNodePointer_t Orb(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an Orb may be declared.
Definition: TGDMLParse.cxx:3955
TGeoVolume
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:49
TGDMLParse::freflectmap
ReflectionsMap freflectmap
Map containing placed volume names and the TGeoNode for it.
Definition: TGDMLParse.h:210
TGDMLParse::Box
XMLNodePointer_t Box(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a box may be declared.
Definition: TGDMLParse.cxx:2513
TGDMLParse::fCurrentFile
const char * fCurrentFile
Definition: TGDMLParse.h:104
TGDMLParse::MatMap
TGDMMapHelper< TGeoMaterial > MatMap
Definition: TGDMLParse.h:184
TGDMLParse::Ellipsoid
XMLNodePointer_t Ellipsoid(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, an ellipsoid may be declared.
Definition: TGDMLParse.cxx:2568
TGDMLParse::FracMap
std::map< std::string, double > FracMap
Definition: TGDMLParse.h:196
TGDMLParse::Trap
XMLNodePointer_t Trap(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Trap may be declared.
Definition: TGDMLParse.cxx:3137
TGDMLParse::fisomap
IsoMap fisomap
Map containing scale names and the TGeoScale for it.
Definition: TGDMLParse.h:202
TGDMLParse::Hype
XMLNodePointer_t Hype(TXMLEngine *gdml, XMLNodePointer_t node, XMLAttrPointer_t attr)
In the solids section of the GDML file, a Hype may be declared.
Definition: TGDMLParse.cxx:3675