GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Monte Carlo Engines » Bremsstrahlung and geant
icon5.gif  Bremsstrahlung and geant [message #11060] Wed, 06 October 2010 12:29 Go to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Dear all,
let's assume that we have an electron moving inside our detector in our geant simulation. It emits a bremmstrahlung electron. In this case, I am wondering what is happening in geant about the particle indexes.

Option 1) It is like a decay, then we have the electron before bremsstrahlung as mother particle, the photon and the electron after bremsstrahlung as daughter particles -> in total 3 objects in our MCTrack

Option 2) The electron is always the same track, it emits a bremsstrahlung photon and lose energy. Then we have a primary electron, one daughter photon with mother id of the incoming electron -> 2 mc tracks

Option 3) The electron loses energy via bremmstrahlung and the photon is not produced -> 1 mc track

Does somebody have an idea on what will happen in Geant, thus in our MCTrack TClonesArray?
Is there a way to see if an electron has lost energy via bremsstrahlung or not?
Re: Bremsstrahlung and geant [message #11061 is a reply to message #11060] Wed, 06 October 2010 14:46 Go to previous messageGo to next message
asanchez is currently offline  asanchez
Messages: 350
Registered: March 2006
first-grade participant
From: *kph.uni-mainz.de
Hi Stephano, you have to ask for the
process Id .
Each process in Geant4 or 3 is characterised by a number.

In the TVirtualMC ,

TMCProcess ProdProcess(Int_t isec) const

Int_t StepProcesses(TArrayI& proc) const

regards
ALicia.
Re: Bremsstrahlung and geant [message #11062 is a reply to message #11061] Wed, 06 October 2010 14:51 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
The question is "what is geant3/4 exactly doing in case of bremsstrahlung"?
Re: Bremsstrahlung and geant [message #11063 is a reply to message #11062] Wed, 06 October 2010 15:01 Go to previous messageGo to next message
asanchez is currently offline  asanchez
Messages: 350
Registered: March 2006
first-grade participant
From: *kph.uni-mainz.de
For each process,
In geant4 the mother particle has a trackId = -1
the secondaries are numerated as they are created,
if you have created three secondaries the y get the track id's
0, 1, 2

In geant3, is the same , the only difference is that
the mother particle is numerated with a trackId = 0 instead of -1.

If you want to really see what is going on,
case geant4 :
go to
the gconfig directory and then edit the line 35 at g4Config.in,
by removing the # symbol
so /tracking/verbose 1, in this way you will switch on the verbosity of the tracking.

Try a few events,

i hope it can help you.

regards,

Alicia.
Re: Bremsstrahlung and geant [message #11064 is a reply to message #11063] Wed, 06 October 2010 15:35 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
The point is that in our MCTrack we have no process id, this means that you will never know the process which has produced that secondary.

For this reason my question cannot be answered simply looking at data, I think, without playing with physics lists (I would avoid it).

Maybe we could think about adding in MCTrack a data member for the process id, in general.

Then, the question is still unsolved Smile
Re: Bremsstrahlung and geant [message #11065 is a reply to message #11064] Wed, 06 October 2010 15:39 Go to previous messageGo to next message
Olaf Hartmann is currently offline  Olaf Hartmann
Messages: 105
Registered: December 2003
Location: Wien-Alsergrund
continuous participant
From: 213.13.107*
Hi Stefano,

are you sure that the process is implemented at all in Geant? I know that in Fluka, at least for normal tracking in the magnetic field, it is not.

Cheers
Olaf.

PS: ... question still not solved, but new question added Razz
Re: Bremsstrahlung and geant [message #11066 is a reply to message #11065] Wed, 06 October 2010 15:41 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Olaf Hartmann wrote on Wed, 06 October 2010 15:39


PS: ... question still not solved, but new question added Razz


You are a friend... Twisted Evil
Re: Bremsstrahlung and geant [message #11067 is a reply to message #11065] Wed, 06 October 2010 16:00 Go to previous messageGo to next message
Olaf Hartmann is currently offline  Olaf Hartmann
Messages: 105
Registered: December 2003
Location: Wien-Alsergrund
continuous participant
From: 213.13.107*
To be more precise, this statement is only true for the synchrotron radiation part.

Olaf Hartmann wrote on Wed, 06 October 2010 15:39

I know that in Fluka, at least for normal tracking in the magnetic field, it is not.


Re: Bremsstrahlung and geant [message #11070 is a reply to message #11066] Thu, 07 October 2010 11:37 Go to previous message
asanchez is currently offline  asanchez
Messages: 350
Registered: March 2006
first-grade participant
From: *kph.uni-mainz.de
So coming back to the issue of the
Bremsstrahlung processes by electrons.

If i have well understood, in geant4/3 electrons are treated as mother particle(primary or secondary) losing energy
according with the Bremsstrahlung process and emitting photons.

So the electron in MCtrack should remain as mother particle and the photons are treated as secondaries.


To check that,
use the following

for example the pdgcode of the mother and daughter particles
in geant4


From your MC information
PndEmcPoint * pop;

PndMCTrack* moc=(PndMCTrack*)fMcTr->At(pop->GetTrackID());

if(moc==0)continue;

MotherId= moc->GetMotherID();

if (MotherId==-1)Motherpdg = moc->GetPdgCode(); // case electron as primary mother
else {
PndMCTrack *mother =(PndMCTrack*)fMcTr->At(MotherId); // case electron as secondary mother

Motherpdg = mother->GetPdgCode();
}

See :
http://geant4.cern.ch/G4UsersDocuments/UsersGuides/PhysicsReferenceManua l/html/node42.html#SECTION04422000000000000000
Previous Topic: How to get step by step information with TGeant4.
Next Topic: values in gconfig
Goto Forum:
  


Current Time: Sat Oct 12 02:32:36 CEST 2024

Total time taken to generate the page: 0.00667 seconds