Message: Re: Question about assembly Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Question about assembly 

Forum: Geometry
Re: None Question about assembly (Marco Pinto)
Date: 10 Feb, 2011
From: John Allison <John Allison>

I too have had to face this problem. G4AsemblyVolume generates its own names and copy nos. And as you say, if you change the geometry the name can change. Originally I thought the copy nos would be unique but for assemblies of assemblies they are not (is this a bug?). In the end, for any given geometry, I just made a map of name and a local integer id. I can send the code if you think it would help.

In the documentation (Application Developers Guide) it says:

  It is however possible to access the constituent physical volumes of an assembly and eventually customise ID and copy-number.

I take this to mean that you can navigate the geometry hierachy and give the volumes your own name and copy number. I have not tried this. Then you could use the step to find the volume name and copy number, but, *not* as you suggest:


It is better to use the navigation history as described in Section 4.1.8, "The Geometry Navigator":

  // Given aStep, a pointer to the step object ...
  // ... retrieve the 'pre-step' point
  G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
  // ... retrieve a touchable handle and access to the information
  G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
  G4int copyNo = theTouchable->GetCopyNumber();
  G4VPhysicalVolume* pv = theTouchable->GetVolume();
  G4String volName = pv->GetName();

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Ok: Re: Question about assembly   (Marco Pinto - 12 Feb, 2011)
 Add Message Add Message
to: "Re: Question about assembly"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]