Message: RE: How to stop at a given plane Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None RE: How to stop at a given plane 

Forum: Geometry
Re: None How to stop at a given plane (Tom Roberts)
Date: 09 Aug, 2007
From: Makoto Asai <Makoto Asai>

You may consider the newly released parallel navigation.
You can define arbitrary volumes in your parallel world and
steps are limited on the volume surfaces of both mass and
parallel worlds. Materials and EM field must be defined in 
the mass world, while the parallel world should be used just 
for defining "artificial" volumes. Volumes in different worlds 
may overlap. You may use the new exampleN07 as an 
example how you can define a parallel world. 

Please keep in mind, though, that this parallel navigation
functionality is still beta-release. I don't think we would have
significant interface changes with its official release, but the
following restrictions are currently seen.

- You cannot modify/delete/recreate a world volume once it 
 is constructed for the first run.
- Navigation is not yet fully optimized, i.e. some performance
 overhead is identified.

Hope this helps.
Makoto

> -----Original Message-----
> From: Tom Roberts [mailto:tjrob@fnal.gov] 
> Sent: Friday, August 03, 2007 8:46 AM
> To: publichypernews
> Subject: How to stop at a given plane
> 
> *** Discussion title: Geometry
> Email replies to PublicHyperNews@slac.stanford.edu must include:
>   In-Reply-To: <"/geometry/771"@geant4-hn.slac.stanford.edu>
>   Subject: ...change this to be about your reply.
> 
> I need to arrange for all tracks to take a step located on a given
> coordinate plane (not necessarily parallel to any axis). At present I
> have a process that limits the step when approaching the plane, but it
> is extremely inefficient to hit it exactly, so it makes sure there are
> two steps bracketing the plane and within 4 mm of it; 
> UserSteppingAction
> then interpolates to the desired plane. This is still inefficient (and
> rather ugly).
> 
> Is it possible to construct a "pseudo volume" or modify the 
> navigator so
> it will treat this plane as a geometry boundary and make 
> transportation
> naturally stop at it? A normal volume won't work because of invalid
> intersections with the real geometry of the system. No volume 
> transition
> is needed, just having a step on the plane (within the usual 
> tolerance)
> is enough, and UserSteppingAction will sense it and use it.
> 
> Note I actually have a std::vector<> of such planes. Think a few dozen
> entries, not thousands. They need not be parallel to each 
> other. Due to
> other details of the problem, they are ordered (because tracks are
> restricted to be inside a beam pipe, and the planes are 
> perpendicular to
> the pipe; bending magnets make corners in the pipe), so only 2 entries
> are relevant at any given step (one in front and one behind; particles
> can go backwards).
> 
> [why do I need this? because I implement a "virtual detector" 
> that fills
> an NTuple at a given coordinate Z value; the coordinates used are not
> the global coordinates (though the transform is known).]
> 

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

 Add Message Add Message
to: "RE: How to stop at a given plane"

 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 ]