2 CheckOverlaps(const char* file="geometry.root",
3 Bool_t align=kFALSE, Bool_t sample=kTRUE)
5 TObjArray* checked = new TObjArray();
7 AliGeomManager::LoadGeometry(file);
9 AliGeomManager::ApplyAlignObjsToGeom("FMDfullMisalignment.root",
11 TObjArray* l = gGeoManager->GetListOfPhysicalNodes();
13 TGeoPhysicalNode* pn = 0;
15 while ((pn = static_cast<TGeoPhysicalNode*>(next()))) {
18 v = gGeoManager->GetCurrentVolume();
19 if (checked->FindObject(v)) continue;
21 std::cout << "Checking " << v->GetName() << std::endl;
22 v->CheckOverlaps(0.01);
23 Int_t n = gGeoManager->GetListOfOverlaps()->GetEntriesFast();
25 gGeoManager->GetListOfOverlaps()->ls();
29 if (!sample) continue;
31 // gGeoManager->ClearOverlaps();
32 gGeoManager->SetCheckingOverlaps();
33 TGeoNode* start = gGeoManager->GetCurrentNode();
34 TGeoVolume* vol = start->GetVolume();
35 TGeoIterator gnext(vol);
38 while ((node = gnext())) {
40 // std::cout << " Checking: " << path.Data() << std::endl;
41 node->GetVolume()->CheckOverlaps(0.01,"s");
43 gGeoManager->SetCheckingOverlaps(kFALSE);
44 n = gGeoManager->GetListOfOverlaps()->GetEntriesFast();
46 gGeoManager->GetListOfOverlaps()->ls();