|Message: Re: GetTotalEnergyDeposit in PreStep or PostStep?||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)|
On Fri, 11 May 2012 15:58:13 GMT, Bo wrote:
> Hello, > > I'm confused about the TotalEnergyDeposit.I see in TestEm5 and > G4PSDoseDeposition, the Energy is deposited in the preStep.
There is a missunderstanding of userSteppingAction() function. 1- this function is invoked at end of step, eg. the current position of the particle is the postStep. 2- however, all the informations are in 2 objects at this stage : preStepPoint and postStepPoint. 3- in Em5, we take from preStepPoint the current volume to check it. but the GetTotalEnergyDeposit() comes from postSteppoint
4- As you have noticed, in Em11 we play with positions extracted from pre and postStep point. But the EnergyDeposited comes from postStepPoint, as in Em5
> > However, in TestEm11, the energy is deposited in a random point between pre and post steps, see following: > G4ThreeVector prePoint = aStep->GetPreStepPoint() ->GetPosition(); > G4ThreeVector postPoint = aStep->GetPostStepPoint()->GetPosition(); > G4ThreeVector point = prePoint + G4UniformRand()*(postPoint - prePoint); > G4double x = point.x() + 0.5*detector->GetAbsorSizeX(); > histoManager->FillHisto(1, x, edep); > > I wonder which one is better and more reasonable. > > Thanks in advance. > > Bo >