Message: Re: How can I make forced Compton scattering event? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: How can I make forced Compton scattering event? 

Keywords: forced collision
Forum: Event and Track Management
Re: Question How can I make forced Compton scattering event? (SoHyun AN)
Date: 05 Jul, 2006
From: michel maire <michel maire>

User SoHyun AN wrote:

>> Problem: To reduce simulation time, I want to make gamma particle
>> undergo forced Compton scattering. How can I embody forced collision
>> processing?

 Another more elegant solution is to create MyComptonScattering, to 
 overwrite GetMeanFreePath().

 From G4Track, you can get informations to where and when trigger 
 Compton collisions. 

 //
 //------------------ MyComptonScattering physics process -----------------------
 //
 // 05-07-06, class to force interaction (mma)
 // -----------------------------------------------------------------------------
 //
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

 #ifndef MyComptonScattering_h
 #define MyComptonScattering_h 1

 #include "globals.hh"
 #include "G4ComptonScattering.hh"

 class G4Track;

 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

 class MyComptonScattering : public G4ComptonScattering

 {
 public:  // with description

  MyComptonScattering(const G4String& processName ="mycompt",
		      G4ProcessType type = fElectromagnetic);

 ~MyComptonScattering();

 protected:

  G4double GetMeanFreePath(const G4Track& track,
			   G4double previousStepSize,
			   G4ForceCondition* condition);

 };

 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 // 
 //------------ MyComptonScattering physics process -----------------------------
 //
 // 05-07-06, class to force interaction (mma)
 // -----------------------------------------------------------------------------

 #include "MyComptonScattering.hh"

 #include "G4Track.hh"

//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

 MyComptonScattering::MyComptonScattering(const G4String& processName,
  G4ProcessType type):G4ComptonScattering (processName, type)
 { }

 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

 MyComptonScattering::~MyComptonScattering()
 {}

 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....

 G4double MyComptonScattering::GetMeanFreePath(const G4Track&,
                                                    G4double,
                                                    G4ForceCondition* condition)
 {
  *condition = NotForced;
  G4double mfp = 1*m;
  return mfp;
 }

 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....  

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

1 Note: Re: How can I make forced Compton scattering event?   (SoHyun AN - 06 Jul, 2006)
 Add Message Add Message
to: "Re: How can I make forced Compton scattering event?"

 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 ]