|Message: Re: multiple field maps||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
> Maybe, if there is need we should extend this to allow the > G4FieldManager to keep a list of fields and each subsequent call > to SetDetectorField will add automatically to the list.
It takes more than a mere list -- EM fields overlap in general, and they must be summed. But in most cases the evaluation of the field dominates the CPU time to track particles, and summing a bunch of fields only makes that worse.
What I did is implement a GlobalField class (derived from G4ElectroMagneticField) that permits other objects to register themselves as defining a field and a bounding box. Now the GlobalField::GetFieldValue() can efficiently loop over all registered objects, checking their bounding boxes before calling their AddFieldValue() to add its result into the sum. It is important that the bounding box be in global coordinates, because the global->local transform is often the most expensive part of the field computation.
For one of my simulations with 38 individual field objects, implementing these bounding boxes sped it up by a factor of 8 (!).
|Inline Depth:||Outline Depth:||Add message:|