void LCDDImp::init() { if (!m_world.isValid()) { TGeoManager* mgr = m_manager; Box worldSolid("world_x", "world_y", "world_z"); printout(INFO,"LCDD"," *********** created World volume with size : %7.0f %7.0f %7.0f", worldSolid->GetDX(), worldSolid->GetDY(), worldSolid->GetDZ()); m_materialAir = material("Air"); m_materialVacuum = material("Vacuum"); Volume world_vol("world_volume", worldSolid, m_materialAir); m_world = DetElement(new WorldObject(*this,"world")); m_worldVol = world_vol; // Set the world volume to invisible. VisAttr worldVis("WorldVis"); worldVis.setAlpha(1.0); worldVis.setVisible(false); worldVis.setShowDaughters(true); worldVis.setColor(1.0, 1.0, 1.0); worldVis.setLineStyle(VisAttr::SOLID); worldVis.setDrawingStyle(VisAttr::WIREFRAME); //m_worldVol.setVisAttributes(worldVis); m_worldVol->SetVisibility(kFALSE); m_worldVol->SetVisDaughters(kTRUE); m_worldVol->SetVisContainers(kTRUE); add(worldVis); #if 0 Tube trackingSolid(0.,"tracking_region_radius","2*tracking_region_zmax",2*M_PI); Volume tracking("tracking_volume",trackingSolid, m_materialAir); m_trackers = TopDetElement("tracking"); m_trackingVol = tracking; PlacedVolume pv = m_worldVol.placeVolume(tracking); m_trackers.setPlacement(pv); m_world.add(m_trackers); #endif m_detectors.append(m_world); m_manager->SetTopVolume(m_worldVol.ptr()); m_world.setPlacement(PlacedVolume(mgr->GetTopNode())); } }