void ConvertGDMLtoRoot() { const TString _volumename = "mainframe_02"; const TString _file = _volumename + ".gdml"; const TString _file_out = _volumename + "_test.root"; TGeoVolume *_vol_assembly = new TGeoVolumeAssembly(_volumename); TGDMLParse parser; TGeoVolume *_gdml_vol = parser.GDMLReadFile(_file); TObjArray *_node = _gdml_vol->GetNodes(); Int_t copy_number = 0; for (int iNode = 0; iNode < _node->GetEntriesFast(); iNode++) { TGeoNode *_fNode = (TGeoNode *)_node->At(iNode); TGeoVolume *_fVol = (TGeoVolume *)_fNode->GetVolume(); /* if(TString(_fVol->GetName()).Contains("DIN"))continue; if(TString(_fVol->GetName()).Contains("Ankertraeger"))continue; if(TString(_fVol->GetName()).Contains("Montageschiene_A3"))continue; if(TString(_fVol->GetName()).Contains("V-Spring"))continue;*/ // Removing volume from support center /* if(TString(_fVol->GetName()).Contains("V-Ankertraeger"))continue; if(TString(_fVol->GetName()).Contains("Montageschiene_A3"))continue; if(TString(_fVol->GetName()).Contains("DIN"))continue; if(TString(_fVol->GetName()).Contains("V-Spring"))continue;*/ // if(TString(_fVol->GetName()).Contains("V-KANYA"))continue; // secondary frame // /* if(TString(_fVol->GetName()).Contains("Sekundaer-Rahmen-Abstandsblech-34"))continue; if(TString(_fVol->GetName()).Contains("Sekundaer-Rahmen-Abstandsblech-31"))continue; if(TString(_fVol->GetName()).Contains("V-Dummy_rollenfuehrung_top"))continue;*/ _vol_assembly->AddNode(_fVol, copy_number, 0); copy_number++; } _gdml_vol->Draw("ogl"); // _gdml_vol->CheckOverlaps(0.001,"s10000"); // _gdml_vol->PrintOverlaps(); _vol_assembly->Export(_file_out); }