Added to SVN repository

This commit is contained in:
paraiso
2006-02-16 17:21:13 +00:00
parent b67a2876ac
commit b98f222ba8
49 changed files with 1577 additions and 183 deletions

View File

@ -1,10 +1,10 @@
///§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//*
// LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION
//
// ID : LEMuSRPrimaryGeneratorAction.hh , v 1.3
// AUTHOR: Taofiq PARAISO
// DATE : 2004-09-16 09:12
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
//
// & &&&&&&&&&& &&&&&&& &&&&&&&&
// & & && && & &&
@ -18,10 +18,9 @@
// &
// &
// PRIMARY GENERATOR ACTION
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
#ifndef LEMuSRPrimaryGeneratorAction_h
#define LEMuSRPrimaryGeneratorAction_h 1
@ -54,37 +53,76 @@ class G4Event;
// LEMuSRPrimaryGeneratorAction CLASS DEFINITION
/*!
* The initial parameters of the particle(s) to simulate are given in the
* LEMuSRPrimaryGeneratorAction class. This mandatory class work in interplay
* with the LEMuSRParticleGun to create each new event of the simulation.
*
* An event is the track of one particle and all the particles created during its
* evolution in the detector, by decay, scattering or any other kind of process.
* cf. \ref pga.
*/
class LEMuSRPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
// Constructor & Destructor
public:
//!\ct
LEMuSRPrimaryGeneratorAction();
//!\dt
~LEMuSRPrimaryGeneratorAction();
//! Pointer to the instance.
static LEMuSRPrimaryGeneratorAction* thePGA;
//! Returns the pointer to the instance.
static LEMuSRPrimaryGeneratorAction* GetPGA();
// Event generation method
//!\mm
void GeneratePrimaries(G4Event* anEvent);
//! Selection of the beam profile.
void GetScanningMode(G4int scan_mode);
private:
//! Particle gun pointer.
LEMuSRParticleGun* lemuParticleGun;
public:
double rndenergy;
G4double decaytime, energy;
G4double
//! Particle's decay time.
decaytime,
//! Energy of the particle.
energy;
HepRandomEngine * theEngine;
G4double X, Y, Z,momX, momY, momZ, m_xrange, m_yrange;
G4double
//! Position of the gun.
X, Y, Z,
//! Momentum of the initial particle.
momX, momY, momZ,
//! Scanning parameters.
m_xrange, m_yrange;
//! Scaning parameters.
G4int m_counterx, m_nbxsteps, m_countery, m_nbysteps, scan, gauss;
//! Scanning parameters.
G4double radius, angle, mean, stddev, sc_mean, sc_stddev;
//! Scanning parameters
G4double circ;
//! Scanning parameters.
G4bool rnd;
//! Pointer to the messenger.
LEMuSRPgaMessenger* messenger;
G4double charge, ke_offset;
G4double
//! Particle's charge.
charge,
//! Energy offset (3.73 keV by default) to take into account the acceleration at the carbon foil.
ke_offset;
//! Particle's name.
G4String pname;
//===============================