54 message <<
"The assembly has NOT been registered !" <<
G4endl
56 <<
" already existing in store !" <<
G4endl;
57 G4Exception(
"G4AssemblyVolume::G4AssemblyVolume()",
"GeomVol1001",
80 message <<
"The assembly has NOT been registered !" <<
G4endl
82 <<
" already existing in store !" <<
G4endl;
83 G4Exception(
"G4Assembly::G4Assembly()",
"GeomVol1001",
99 for(
unsigned int i = 0; i < howmany; ++i )
102 if( pRotToClean != 0 )
134 if( pRotation !=
nullptr ) { *toStore = *pRotation; }
155 G4bool isReflection =
false;
171 if( pRotation !=
nullptr ) { *toStore = *pRotation; }
194 G4bool isReflection =
false;
245 unsigned int numberOfDaughters;
247 if( copyNumBase == 0 )
253 numberOfDaughters = copyNumBase;
267 for(
unsigned int i = 0; i < triplets.size(); ++i )
270 triplets[i].GetTranslation() );
271 if ( triplets[i].IsReflection() ) { Ta = Ta *
G4ReflectZ3D(); }
275 if ( triplets[i].GetVolume() )
287 std::stringstream pvName;
293 << triplets[i].GetVolume()->GetName().c_str()
304 pvName.str().c_str(),
305 triplets[i].GetVolume(),
308 numberOfDaughters + i,
313 fPVStore.push_back( pvPlaced.first );
314 if ( pvPlaced.second ) {
fPVStore.push_back( pvPlaced.second ); }
320 else if ( triplets[i].GetAssembly() )
325 Tfinal, i*100+copyNumBase, surfCheck );
331 "Triplet has no volume and no assembly");
350 if( pRotationInMother ==
nullptr )
359 translationInMother );
360 MakeImprint(
this, pMotherLV, transform, copyNumBase, surfCheck);
374 MakeImprint(
this, pMotherLV, transformation, copyNumBase, surfCheck);