|Message: Customize scorer and messenger||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)|
I have problems implementing a scorer and a messenger for the scorer. I use Geant4 10.00 under windows 8 and I use Visual Studio 10.
Although it I guess it should be possible to do it simpler, I have done the following:
I Implemented my own MyOwnRunManager class inheriting from G4RunManager and overrode the methods ContructScoringWorld and UpdateScoring so that they use MyOwnScoringManager and not G4ScoringManager.
Implemented MyOwnScoringManager with the members MyOwnScoringMessenger and MyOwnScoreQuantityMessenger. These are almost identical to their G4 counterparts.
In MyOwnScoreQuantityMessenger I substitute the G04PSFlatSurfaceFlux3D class with MyOwnPSFlatSurfaceFlux3D class which scores the flux of each side of a box.
I have also implemented MyOwnScoringBox since the G4ScoringBox calls methods of the G4ScoringManager.
My code compiles but when I run it, I get some strange warnings. Also, only zeroes are scored in the mesh that I set up from my macro-file.
The warning(s) look like
-------- WWWW ------- G4Exception-START -------- WWWW ------- *** G4Exception : GeomNav1002 issued by : G4Navigator::ComputeStep() Accuracy error or slightly inaccurate position shift. The Step's starting point has moved 149.712 mm since the last call to a Locate method. This has resulted in moving 2.23129 mm from the last point at which the safety was calculated which is more than the computed safety= 0 mm at that point. This difference is 2.23129 mm. The tolerated accuracy is 1e-006 mm.
*** This is just a warning message. *** -------- WWWW -------- G4Exception-END --------- WWWW -------
-------- WWWW ------- G4Exception-START -------- WWWW ------- *** G4Exception : GeomNav1002 issued by : G4Navigator::ComputeStep() May lead to a crash or unreliable results. Position has shifted considerably without notifying the navigator ! Tolerated safety: 1e-006 Computed shift : 4.97866 *** This is just a warning message. *** -------- WWWW -------- G4Exception-END --------- WWWW -------
When I run my example using the G4RunManager and the corresponding call G4ScoringManager::GetScoringManager(); after creating the G4RunManager the example runs without problem.
Does any one have any idea of whats going on and how to fix it or any suggestions of alternative methods to go about?
|Inline Depth:||Outline Depth:||Add message:|