ROOT logo
ROOT » GEOM » GDML » TGDMLWrite

class TGDMLWrite: public TObject

Function Members (Methods)

public:
TGDMLWrite()
TGDMLWrite(const TGDMLWrite&)
virtual~TGDMLWrite()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TGDMLWrite&operator=(const TGDMLWrite&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetG4Compatibility(Bool_t G4Compatible)
voidSetNamingSpeed(TGDMLWrite::ENamingType naming)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidWriteGDMLfile(TGeoManager* geomanager, const char* filename = "test.gdml", TString option = "")
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Bool_tCanProcess(TObject* pointer)
XMLNodePointer_tChooseObject(TGeoShape* geoShape)
XMLNodePointer_tCreateArb8N(TGeoArb8* geoShape)
XMLNodePointer_tCreateAtomN(Double_t atom, const char* unit = "g/mole")
XMLNodePointer_tCreateBoxN(TGeoBBox* geoShape)
XMLNodePointer_tCreateCommonBoolN(TGeoCompositeShape* geoShape)
XMLNodePointer_tCreateConeN(TGeoConeSeg* geoShape)
XMLNodePointer_tCreateConeN(TGeoCone* geoShape)
XMLNodePointer_tCreateCutTubeN(TGeoCtub* geoShape)
XMLNodePointer_tCreateDivisionN(Double_t offset, Double_t width, Int_t number, const char* axis, const char* unit, const char* volref)
XMLNodePointer_tCreateDN(Double_t density, const char* unit = "g/cm3")
XMLNodePointer_tCreateElementN(TGeoElement* element, XMLNodePointer_t materials, const char* name)
XMLNodePointer_tCreateEltubeN(TGeoEltu* geoShape)
TGeoCompositeShape*CreateFakeCtub(TGeoCtub* geoShape)
XMLNodePointer_tCreateFractionN(Double_t percentage, const char* refName)
XMLNodePointer_tCreateHypeN(TGeoHype* geoShape)
XMLNodePointer_tCreateIsotopN(TGeoIsotope* isotope, const char* name)
XMLNodePointer_tCreateMaterialN(TGeoMaterial* material, TString mname)
XMLNodePointer_tCreateMixtureN(TGeoMixture* mixture, XMLNodePointer_t materials, TString mname)
XMLNodePointer_tCreateParaboloidN(TGeoParaboloid* geoShape)
XMLNodePointer_tCreateParaN(TGeoPara* geoShape)
XMLNodePointer_tCreatePhysVolN(const char* volref, const char* posref, const char* rotref, XMLNodePointer_t scaleN)
XMLNodePointer_tCreatePolyconeN(TGeoPcon* geoShape)
XMLNodePointer_tCreatePolyhedraN(TGeoPgon* geoShape)
XMLNodePointer_tCreatePositionN(const char* name, const Double_t* position, const char* type = "position", const char* unit = "cm")
XMLNodePointer_tCreateRotationN(const char* name, TGDMLWrite::Xyz rotation, const char* type = "rotation", const char* unit = "deg")
XMLNodePointer_tCreateSetupN(const char* topVolName, const char* name = "default", const char* version = "1.0")
XMLNodePointer_tCreateSphereN(TGeoSphere* geoShape)
XMLNodePointer_tCreateTorusN(TGeoTorus* geoShape)
XMLNodePointer_tCreateTrapN(TGeoTrap* geoShape)
XMLNodePointer_tCreateTrdN(TGeoTrd1* geoShape)
XMLNodePointer_tCreateTrdN(TGeoTrd2* geoShape)
XMLNodePointer_tCreateTubeN(TGeoTubeSeg* geoShape)
XMLNodePointer_tCreateTubeN(TGeoTube* geoShape)
XMLNodePointer_tCreateTwistedTrapN(TGeoGtra* geoShape)
XMLNodePointer_tCreateXtrusionN(TGeoXtru* geoShape)
XMLNodePointer_tCreateZplaneN(Double_t z, Double_t rmin, Double_t rmax)
XMLNodePointer_tExtractMaterials(TList* materialsLst)
voidExtractSolids(TObjArray* shapesLst)
voidExtractVolumes(TGeoVolume* volume)
TStringGenName(TString oldname)
TStringGenName(TString oldname, TString objPointer)
TStringGetPattAxis(Int_t divAxis, const char* pattName, TString& unit)
TGDMLWrite::XyzGetXYZangles(const Double_t* rotationMatrix)
Bool_tIsInList(TGDMLWrite::NameList list, TString name2check)
XMLNodePointer_tStartAssemblyN(const char* name)
XMLNodePointer_tStartVolumeN(const char* name, const char* solid, const char* material)

Data Members

public:
enum ENamingType { kelegantButSlow
kwithoutSufixNotUniq
kfastButUglySufix
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
TGDMLWrite::StructLst*fAccPattlist of accepted patterns for division
UInt_tfActNameErrcount of name errors
XMLNodePointer_tfDefineNodemain <define> node...
TGDMLWrite::StructLst*fElementListlist of elements
TXMLEngine*fGdmlE
XMLDocPointer_tfGdmlFile
TGDMLWrite::StructLst*fIsotopeListlist of isotopes
TGDMLWrite::StructLst*fMaterialListlist of materials
XMLNodePointer_tfMaterialsNodemain <materials> node...
TGDMLWrite::NameLst*fNameListlist of names (pointer mapped)
Int_tfPhysVolCntcount of physical volumes
TGDMLWrite::StructLst*fRejShapelist of rejected shapes
TGDMLWrite::StructLst*fShapeListlist of solids
UInt_tfSolCntcount of name solids
XMLNodePointer_tfSolidsNodemain <solids> node...
XMLNodePointer_tfStructureNodemain <structure> node...
TStringfTopVolumeName
Int_tfVolCntcount of volumes
TGDMLWrite::StructLst*fVolumeListlist of volumes
Bool_tfgG4Compatibility
static TGDMLWrite*fgGDMLWritepointer to gdml writer
Int_tfgNamingSpeed
static const UInt_tfgkMaxNameErrmaximum number of errors for naming
static const UInt_tfgkProcBit14th bit is set when solid is processed
static const UInt_tfgkProcBitVol19th bit is set when volume is processed

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGDMLWrite()
 Default constructor.
~TGDMLWrite()
 Destructor.
void SetNamingSpeed(TGDMLWrite::ENamingType naming)
void WriteGDMLfile(TGeoManager* geomanager, const char* filename = "test.gdml", TString option = "")
 Wrapper of all exporting methods
 Creates blank GDML file and fills it with gGeoManager structure converted
 to GDML structure xml nodes
XMLNodePointer_t ExtractMaterials(TList* materialsLst)
void ExtractSolids(TObjArray* shapesLst)
void ExtractVolumes(TGeoVolume* volume)
XMLNodePointer_t CreateAtomN(Double_t atom, const char* unit = "g/mole")
 Creates "atom" node for GDML
XMLNodePointer_t CreateDN(Double_t density, const char* unit = "g/cm3")
 Creates "D" density node for GDML
XMLNodePointer_t CreateFractionN(Double_t percentage, const char* refName)
 Creates "fraction" node for GDML
XMLNodePointer_t CreateIsotopN(TGeoIsotope* isotope, const char* name)
 Creates "isotope" node for GDML
XMLNodePointer_t CreateElementN(TGeoElement* element, XMLNodePointer_t materials, const char* name)
 Creates "element" node for GDML
element node and attribute
XMLNodePointer_t CreateMixtureN(TGeoMixture* mixture, XMLNodePointer_t materials, TString mname)
 Creates "material" node for GDML with references to other sub elements
XMLNodePointer_t CreateMaterialN(TGeoMaterial* material, TString mname)
 Creates "material" node for GDML
XMLNodePointer_t CreateBoxN(TGeoBBox* geoShape)
 Creates "box" node for GDML
XMLNodePointer_t CreateParaboloidN(TGeoParaboloid* geoShape)
 Creates "paraboloid" node for GDML
XMLNodePointer_t CreateSphereN(TGeoSphere* geoShape)
 Creates "sphere" node for GDML
XMLNodePointer_t CreateArb8N(TGeoArb8* geoShape)
 Creates "arb8" node for GDML
XMLNodePointer_t CreateConeN(TGeoConeSeg* geoShape)
 Creates "cone" node for GDML from TGeoConeSeg object
XMLNodePointer_t CreateConeN(TGeoCone* geoShape)
 Creates "cone" node for GDML from TGeoCone object
XMLNodePointer_t CreateParaN(TGeoPara* geoShape)
 Creates "para" node for GDML
XMLNodePointer_t CreateTrapN(TGeoTrap* geoShape)
 Creates "trap" node for GDML
XMLNodePointer_t CreateTwistedTrapN(TGeoGtra* geoShape)
 Creates "twistedtrap" node for GDML
XMLNodePointer_t CreateTrdN(TGeoTrd1* geoShape)
 Creates "trd" node for GDML from object TGeoTrd1
XMLNodePointer_t CreateTrdN(TGeoTrd2* geoShape)
 Creates "trd" node for GDML from object TGeoTrd2
XMLNodePointer_t CreateTubeN(TGeoTubeSeg* geoShape)
 Creates "tube" node for GDML  from  object TGeoTubeSeg
XMLNodePointer_t CreateCutTubeN(TGeoCtub* geoShape)
 Creates "cutTube" node for GDML
XMLNodePointer_t CreateTubeN(TGeoTube* geoShape)
 Creates "tube" node for GDML from  object TGeoTube
XMLNodePointer_t CreateZplaneN(Double_t z, Double_t rmin, Double_t rmax)
 Creates "zplane" node for GDML
XMLNodePointer_t CreatePolyconeN(TGeoPcon* geoShape)
 Creates "polycone" node for GDML
XMLNodePointer_t CreateTorusN(TGeoTorus* geoShape)
 Creates "torus" node for GDML
XMLNodePointer_t CreatePolyhedraN(TGeoPgon* geoShape)
 Creates "polyhedra" node for GDML
XMLNodePointer_t CreateEltubeN(TGeoEltu* geoShape)
 Creates "eltube" node for GDML
XMLNodePointer_t CreateHypeN(TGeoHype* geoShape)
 Creates "hype" node for GDML
XMLNodePointer_t CreateXtrusionN(TGeoXtru* geoShape)
 Creates "xtru" node for GDML
XMLNodePointer_t CreateCommonBoolN(TGeoCompositeShape* geoShape)
 Creates common part of union intersection and subtraction nodes
XMLNodePointer_t CreatePositionN(const char* name, const Double_t* position, const char* type = "position", const char* unit = "cm")
 Creates "position" kind of node for GDML
XMLNodePointer_t CreateRotationN(const char* name, TGDMLWrite::Xyz rotation, const char* type = "rotation", const char* unit = "deg")
 Creates "rotation" kind of node for GDML
XMLNodePointer_t CreateSetupN(const char* topVolName, const char* name = "default", const char* version = "1.0")
 Creates "setup" node for GDML
XMLNodePointer_t StartVolumeN(const char* name, const char* solid, const char* material)
 Creates "volume" node for GDML
XMLNodePointer_t StartAssemblyN(const char* name)
 Creates "assembly" node for GDML
XMLNodePointer_t CreatePhysVolN(const char* volref, const char* posref, const char* rotref, XMLNodePointer_t scaleN)
 Creates "physvol" node for GDML
XMLNodePointer_t CreateDivisionN(Double_t offset, Double_t width, Int_t number, const char* axis, const char* unit, const char* volref)
 Creates "divisionvol" node for GDML
XMLNodePointer_t ChooseObject(TGeoShape* geoShape)
 Chooses the object and method that should be used for processing
TGeoCompositeShape* CreateFakeCtub(TGeoCtub* geoShape)
Bool_t IsInList(TGDMLWrite::NameList list, TString name2check)
 Checks whether name2check is in (NameList) list
TString GenName(TString oldname)
NCNAME basic restrictions
Replace "$" character with empty character
TString GenName(TString oldname, TString objPointer)
Bool_t CanProcess(TObject* pointer)
TString GetPattAxis(Int_t divAxis, const char* pattName, TString& unit)
TGDMLWrite()
void SetG4Compatibility(Bool_t G4Compatible)
Xyz GetXYZangles(const Double_t* rotationMatrix)
II. Utility methods