Message: Re: Counting Number of Rkt Li6(n,t)alpha Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Counting Number of Rkt Li6(n,t)alpha 

Forum: Hits, Digitization and Pileup
Re: None Counting Number of Rkt Li6(n,t)alpha (Sylvia Studeny)
Re: None Re: Counting Number of Rkt Li6(n,t)alpha (Sylvia Studeny)
Date: 25 Jul, 2006
From: Vladimir IVANTCHENKO <vnivanch@mail.cern.ch>

On Tue, 25 Jul 2006, Sylvia Studeny wrote:

> *** Discussion title: Hits, Digitization and Pileup
> Email replies to PublicHyperNews@slac.stanford.edu must include:
>   In-Reply-To: <"/hitsdigits/131/1"@geant4-hn.slac.stanford.edu>
>   Subject: ...change this to be about your reply.
> 
> Hi, I found something suitable in G4SteppingManager and changed my code:
> 
> G4bool RE02NofReaktions::ProcessHits(G4Step* aStep,G4TouchableHistory*)
> {
>   //- check for newly produced particle. e.g. first step.
>   if ( aStep->GetTrack()->GetCurrentStepNumber() != 1) return FALSE;
>   //- check for this is not a primary particle. e.g. ParentID > 0 .
>   if ( aStep->GetTrack()->GetParentID() == 0 ) return FALSE;
>  //- This is a newly produced secondary particle. 
>   G4Track* aTrack = aStep->GetTrack();
> 
>   //neu aus Stepping Manager:
>   G4ProcessManager* pm= aTrack->GetDefinition()->GetProcessManager();
>   fPostStepDoItVector = pm->GetPostStepProcessVector(typeDoIt);
>   for(G4int i=0;i<fPostStepDoItVector->size();i++){
>     fCurrentProcess = (*fPostStepDoItVector)[i];
>     G4cout << "Prozess= "<<fCurrentProcess -> GetProcessName()<< G4endl;
>     fParticleChange  = fCurrentProcess->PostStepDoIt(*aTrack, *aStep);
> 
>     G4int  index = GetIndex(aStep);
>     if(fParticleChange){
>      G4cout << "Anzahl an sekundärteilchen= "<<fParticleChange->GetNumberOfSecondaries()<< G4endl;
>       if(fParticleChange->GetNumberOfSecondaries() == 2){
>         fSecondary->push_back(fParticleChange->GetSecondary(0));
>         fSecondary->push_back(fParticleChange->GetSecondary(1));
>         G4cout << G4endl;
>         if((fSecondary-> back()->GetDefinition()->GetParticleName() == "alpha") &&
>           (fSecondary-> back()->GetDefinition()->GetParticleName() == "titon")){
>            G4cout << "reaktion gefunden!" << G4endl;
>           // G4double weight = aStep->GetPreStepPoint()->GetWeight();
>           // EvtMap->add(index,weight);  
>         }
>       }
>       G4cout << G4endl;
>     } 
>     else{G4cout<<"No Particle change!" << G4endl;}
>   }
>   return TRUE;
> }
> 
> Unfortunately, There is something totally wrong with my way, I think,
> because when I let it run there are warning, which don't look good:
> 
> *** G4Exception : 001
>       issued by : G4HadronicProcess
> bailing out
> *** This is just a warning message.
> G4HadronInelasticProcess: called for final state, while cross-section was zero
>                           Returning empty particle change....
>                           current MeanFreePath is 1.79769e+308
> G4HadronicProcess: track in unusable state - 2
> G4HadronicProcess: returning unchanged track
> 
> and there is no Li6(n,t)alpha raktion at all:
> 
> ... Prozess= Transportation
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= msc
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= hIoni Anzahl an sekundärteilchen= 0
> 
> Prozess= LElastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= TritonInelastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= Transportation
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= msc
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= ionIoni Anzahl an sekundärteilchen= 0
> 
> Prozess= LElastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= AlphaInelastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= Transportation
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= msc
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= hIoni
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= LElastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= TritonInelastic
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= Transportation
> 
> Anzahl an sekundärteilchen= 0
> 
> Prozess= msc
> 
> Anzahl an sekundärteilchen= 0
> 
> ...
> 
> Has anybody done something similar? I think I'm totally wrong in using
> the ParticleChange-Object, because I don't want to implement a new kind
> of reaktion or something like that. Unfortunately I don't see any other
> way to do it.
> 
> Thanks a lot Sylvia
> 

Hello Sylvia,

My impression is that you choose a wrong way - to modify G4 kernel class 
is always danger even if the class seems to do a simple thing.

I would suggest to find out the way to obtain parameters, information you 
need only from user actions - here you free to ACCESS a lot of information 
about step, track, interaction whithout any risk to destroy G4 tracking.

VI 

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

1 None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sylvia Studeny - 25 Jul, 2006)
(_ None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sergio Lo Meo - 25 Jul, 2006)
 Add Message Add Message
to: "Re: Counting Number of Rkt Li6(n,t)alpha"

 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 ]