Import Geant4 3.2.0 source tree
This commit is contained in:
@@ -1,12 +1,28 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: Em3PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id: Em3PrimaryGeneratorAction.cc,v 1.3.2.1 2001/06/28 19:06:59 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -22,6 +38,7 @@
|
||||
#include "G4ParticleGun.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -32,6 +49,7 @@ Em3PrimaryGeneratorAction::Em3PrimaryGeneratorAction(
|
||||
G4int n_particle = 1;
|
||||
particleGun = new G4ParticleGun(n_particle);
|
||||
SetDefaultKinematic();
|
||||
rndmBeam = 0.;
|
||||
|
||||
//create a messenger for this class
|
||||
gunMessenger = new Em3PrimaryGeneratorMessenger(this);
|
||||
@@ -65,8 +83,20 @@ void Em3PrimaryGeneratorAction::SetDefaultKinematic()
|
||||
void Em3PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
{
|
||||
//this function is called at the begining of event
|
||||
//
|
||||
particleGun->GeneratePrimaryVertex(anEvent);
|
||||
//
|
||||
//randomize the beam, if requested.
|
||||
if (rndmBeam > 0.)
|
||||
{
|
||||
G4ThreeVector oldPosition = particleGun->GetParticlePosition();
|
||||
G4double rbeam = 0.5*(Em3Detector->GetCalorSizeYZ())*rndmBeam;
|
||||
G4double x0 = oldPosition.x();
|
||||
G4double y0 = oldPosition.y() + (2*G4UniformRand()-1.)*rbeam;
|
||||
G4double z0 = oldPosition.z() + (2*G4UniformRand()-1.)*rbeam;
|
||||
particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0));
|
||||
particleGun->GeneratePrimaryVertex(anEvent);
|
||||
particleGun->SetParticlePosition(oldPosition);
|
||||
}
|
||||
else particleGun->GeneratePrimaryVertex(anEvent);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
Reference in New Issue
Block a user