Hi roottalk, I've noticed that the TGeoArb8::Safety() has a dummy implementation: //_____________________________________________________________________________ Double_t TGeoArb8::Safety(Double_t * /*point*/, Bool_t /*in*/) const { // computes the closest distance from given point to this shape, according // to option. The matching point on the shape is stored in spoint. return kBig; } I have a TGeoCompositeShape built from 3 TGeoArb8 shapes connected together using the bool union (+) operator. When using a TGeoManager geometry created from volumes using this TGeoCompositeShape with the geant3 vmc implementation, I am finding that the TGeoManager::FindNextBoundary method incorrectly calculates the distance to the TGeoCompositeShape volume boundary. This is because TGeoUnion::Safety depends on being able to call the Safety method of the simple shapes that make up the composite shape. On the other hand, TGeoManager::RandomRays correctly marks the boundaries of the TGeoCompositeShape volumes because it only calls DistToIn and not Safety of the simple shapes that make up the composite shape. Do you have plans to implement TGeoArb8::Safety soon? Do you recommend a work around in the meantime? Also, I notice that the geant4_vmc implementation does not yet support TGeoCompositeShapes. I am using root from cvs last updated Nov. 8. Thanks, -Sue
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET