Message: Re: Different perfomance on Linux and Windows Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Different perfomance on Linux and Windows 

Forum: Hadronic Processes
Re: None Different perfomance on Linux and Windows (Gorelick Sergey)
Re: None Re: Different perfomance on Linux and Windows (Vladimir IVANTCHENKO )
Re: None Re: Different perfomance on Linux and Windows (Gorelick Sergey)
Date: 18 Dec, 2006
From: Vladimir IVANTCHENKO <>

On Mon, 18 Dec 2006, Gorelick Sergey wrote:

> *** Discussion title: Hadronic Processes
> Email replies to must include:
>   In-Reply-To: <"/hadronprocess/615/1/1">
>   Subject: ...change this to be about your reply.
> Hello Vladimir,
> >- do you use standard physics?
> Yes, I use standard physics, i.e. for a proton:
> if (particleName == "proton") {
>       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
>       pmanager->AddProcess(new G4hIonisation,       -1, 2,2);
>       etc....
> What I'm doing to calculate the range (as well as other parameters, such
> as sraggling, radial range/straggling, lateral range/straggling etc.), I
> collect statistics from some large number of projectiles. The statistics
> include final position of the proton in the material (x,y,z) and
> deposited enegy (to check whether it was backscattered or completely
> stopped). This I am doing in a following way:
> ...
> newHit->SetPos    (aStep->GetPostStepPoint()->GetPosition());...
> G4int NbHits = trackerCollection->entries();...
> G4double *Posx = new G4double[5000];...(this is done to clean up memory in the end of every run a bit)
> ...........................................
> for (G4int i=0;i<NbHits;i++){
>     sEdep[i] = (*trackerCollection)[i]->GetEdep();
>     EnergySum += sEdep[i];
>     sTime[i] = (*trackerCollection)[i]->GetTime();
>     sTrack[i] = (*trackerCollection)[i]->GetTrackID();
>     G4ThreeVector HitPos = (*trackerCollection)[i]->GetPos();
>     Posx[i] = HitPos.x();................
> .........................................
>     G4double timemin=0.0;
>     if(sTime[i] >= timemin && sTrack[i] == 1){  // sTrack[i] == 1 'NOT TO get all kind of nasty electrons and such'
>       timemin = sTime[i];
>       endPosx = Posx[i];
>     ..............    
>     }
> The same goes for y and z. Statistics goes to a file, and then used to
> calculate all these parameters mentioned above. I don't know how elegant
> is such solution, but at least it works.
> >- why you need such low cuts?
> Following your earlier advise:
> Following the advise from here (
> ) I have installed geant4.8.0.p01 on Mandriva Linux, and the results
> seems to be more consitent and realistic in comparison with
> geant4.8.1.p01.

Hello again,

In general, what you are doing is correct. The only comment:  condition
trackID=1 is valid for the primary particle in all cases, so time
condition is not needed.

What problem you may have: some protons reflected back, so if beam
direction is along Z axis from Z=0, Z-distribution of end points will have
a peak around the range R(E) and the tail with -R(Z)< Z < R(Z). If you
have a small statistic, the tail may not be seen at all, suddenly 1 event
has random end point Z in this interval and damage the mean value...

I am not sure if our multiple scattering correctly predict the number of
reflected protons, my estimate is that you can have few for 5000 events.  
These protons likely should be removed from the analysis in order do not
biase mean and RMS values.


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

1 None: Re: Different perfomance on Linux and Windows   (Gorelick Sergey - 19 Dec, 2006)
(_ None: Re: Different perfomance on Linux and Windows   (Vladimir IVANTCHENKO - 19 Dec, 2006)
 Add Message Add Message
to: "Re: Different perfomance on Linux and Windows"

 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 ]