The signature for `G4MultiUnion::AddNode` is ``` void AddNode(G4VSolid& solid, G4Transform3D& trans); ``` This prevents compact construction via in-place declaration of the transform like ``` munion->AddNode(*solid, G4TranslateX3D(dx)); ``` and instead requires declaring an extraneous transform object. In the implementation, the transform is copied into a member vector, so there is no reason not to make method argument `const`. Related, it would be nice to provide signature that accepts the solid as a pointer ``` void AddNode(G4VSolid* solid, const G4Transform3D& trans); ``` to be more similar to the boolean solid constructors.
Thanks. The proposed change is now implemented in the development branch and will be available in the next public release.