Import Geant4 5.1.0 source tree
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07CalorHit.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07CalorHit_h
|
||||
#define ExN07CalorHit_h 1
|
||||
|
||||
#include "G4VHit.hh"
|
||||
#include "G4THitsCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
|
||||
class ExN07CalorHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
ExN07CalorHit();
|
||||
virtual ~ExN07CalorHit();
|
||||
ExN07CalorHit(const ExN07CalorHit&);
|
||||
const ExN07CalorHit& operator=(const ExN07CalorHit&);
|
||||
int operator==(const ExN07CalorHit&) const;
|
||||
|
||||
inline void* operator new(size_t);
|
||||
inline void operator delete(void*);
|
||||
|
||||
virtual void Draw();
|
||||
virtual void Print();
|
||||
|
||||
public:
|
||||
inline void AddEnergy(G4double de)
|
||||
{ Edep += de; }
|
||||
inline void AddStep(G4double dl)
|
||||
{
|
||||
TrackLength += dl;
|
||||
nStep++;
|
||||
}
|
||||
inline G4double GetEdep() const
|
||||
{ return Edep; }
|
||||
inline G4double GetTrak() const
|
||||
{ return TrackLength; }
|
||||
inline G4int GetNStep() const
|
||||
{ return nStep; }
|
||||
|
||||
private:
|
||||
G4double Edep;
|
||||
G4double TrackLength;
|
||||
G4int nStep;
|
||||
};
|
||||
|
||||
typedef G4THitsCollection<ExN07CalorHit> ExN07CalorHitsCollection;
|
||||
|
||||
extern G4Allocator<ExN07CalorHit> ExN07CalorHitAllocator;
|
||||
|
||||
inline void* ExN07CalorHit::operator new(size_t)
|
||||
{
|
||||
void* aHit;
|
||||
aHit = (void*) ExN07CalorHitAllocator.MallocSingle();
|
||||
return aHit;
|
||||
}
|
||||
|
||||
inline void ExN07CalorHit::operator delete(void* aHit)
|
||||
{
|
||||
ExN07CalorHitAllocator.FreeSingle((ExN07CalorHit*) aHit);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07CalorimeterSD.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07CalorimeterSD_h
|
||||
#define ExN07CalorimeterSD_h 1
|
||||
|
||||
class G4HCofThisEvent;
|
||||
class G4Step;
|
||||
class G4TouchableHistory;
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
#include "globals.hh"
|
||||
#include "ExN07CalorHit.hh"
|
||||
|
||||
class ExN07CalorimeterSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
ExN07CalorimeterSD(G4String);
|
||||
virtual ~ExN07CalorimeterSD();
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
static G4int numberOfLayers;
|
||||
ExN07CalorHitsCollection* AbsCollection;
|
||||
ExN07CalorHitsCollection* GapCollection;
|
||||
G4int AbsCollID;
|
||||
G4int GapCollID;
|
||||
|
||||
public:
|
||||
static void SetNumberOfLayers(G4int nl)
|
||||
{ numberOfLayers = nl; }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07DetectorConstruction.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef ExN07DetectorConstruction_h
|
||||
#define ExN07DetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4PVParameterised;
|
||||
class G4Material;
|
||||
class G4Box;
|
||||
class ExN07GapParameterisation;
|
||||
class ExN07DetectorMessenger;
|
||||
|
||||
class ExN07DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
ExN07DetectorConstruction();
|
||||
virtual ~ExN07DetectorConstruction();
|
||||
|
||||
public:
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
|
||||
public:
|
||||
void UpdateGeometry();
|
||||
void PrintCalorParameters() const;
|
||||
void SetAbsorberMaterial(G4String materialChoice);
|
||||
G4String GetAbsorberMaterial() const;
|
||||
void SetGapMaterial(G4String materialChoice);
|
||||
G4String GetGapMaterial() const;
|
||||
void SetSerialGeometry(G4bool ser);
|
||||
void SetNumberOfLayers(G4int nl);
|
||||
inline G4int GetNumberOfLayers() const
|
||||
{ return numberOfLayers; }
|
||||
inline G4bool IsSerial() const
|
||||
{ return serial; }
|
||||
|
||||
private:
|
||||
void DefineMaterials();
|
||||
|
||||
private:
|
||||
G4int numberOfLayers;
|
||||
|
||||
G4Material* worldMaterial;
|
||||
G4Material* absorberMaterial;
|
||||
G4Material* gapMaterial;
|
||||
|
||||
G4Box* gapSolid;
|
||||
|
||||
G4LogicalVolume* worldLogical;
|
||||
G4LogicalVolume* calorLogical[3];
|
||||
G4LogicalVolume* layerLogical[3];
|
||||
|
||||
G4VPhysicalVolume* worldPhysical;
|
||||
G4VPhysicalVolume* calorPhysical[3];
|
||||
G4PVParameterised* layerPhysical[3];
|
||||
|
||||
G4bool serial;
|
||||
|
||||
ExN07GapParameterisation* gapParam;
|
||||
ExN07DetectorMessenger* detectorMessenger;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07DetectorMessenger.hh,v 1.2 2003/04/08 15:46:59 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07DetectorMessenger_h
|
||||
#define ExN07DetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class ExN07DetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithAnInteger;
|
||||
|
||||
class ExN07DetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
ExN07DetectorMessenger(ExN07DetectorConstruction* );
|
||||
virtual ~ExN07DetectorMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual G4String GetCurrentValue(G4UIcommand * command);
|
||||
|
||||
private:
|
||||
ExN07DetectorConstruction* ExN07Detector;
|
||||
|
||||
G4UIdirectory* N07Dir;
|
||||
G4UIcmdWithAString* AbsMaterCmd;
|
||||
G4UIcmdWithAString* GapMaterCmd;
|
||||
G4UIcmdWithAnInteger* numLayerCmd;
|
||||
G4UIcmdWithABool* SerialCmd;
|
||||
G4UIcmdWithAnInteger* verboseCmd;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07EventAction.hh,v 1.2 2003/04/08 15:47:00 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07EventAction_h
|
||||
#define ExN07EventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class ExN07EventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
ExN07EventAction();
|
||||
virtual ~ExN07EventAction();
|
||||
|
||||
public:
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
private:
|
||||
G4int calorimeterCollID[6];
|
||||
static G4int verboseLevel;
|
||||
|
||||
public:
|
||||
static void SetVerboseLevel(G4int i)
|
||||
{ verboseLevel = i; }
|
||||
static G4int GetVerboseLevel()
|
||||
{ return verboseLevel; }
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07GapParameterisation.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
//
|
||||
// A parameterisation that describes a series of boxes along Z
|
||||
// The boxes have equal size.
|
||||
//
|
||||
|
||||
#ifndef ExN07GapParameterisation_H
|
||||
#define ExN07GapParameterisation_H 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPVParameterisation.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
|
||||
class ExN07GapParameterisation : public G4VPVParameterisation
|
||||
{
|
||||
public:
|
||||
|
||||
ExN07GapParameterisation();
|
||||
virtual ~ExN07GapParameterisation();
|
||||
|
||||
virtual void ComputeTransformation(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol) const;
|
||||
virtual G4Material* ComputeMaterial(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol);
|
||||
|
||||
private:
|
||||
G4int numberOfLayers;
|
||||
G4Material* absMaterial;
|
||||
G4Material* gapMaterial;
|
||||
|
||||
public:
|
||||
inline void SetNumberOfLayers(G4int nl)
|
||||
{ numberOfLayers = nl; }
|
||||
inline void SetAbsorberMaterial(G4Material* mat)
|
||||
{ absMaterial = mat; }
|
||||
inline void SetGapMaterial(G4Material* mat)
|
||||
{ gapMaterial = mat; }
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07PhysicsList.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07PhysicsList_h
|
||||
#define ExN07PhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class ExN07PhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
ExN07PhysicsList();
|
||||
~ExN07PhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
void SetCuts();
|
||||
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
void ConstructBosons();
|
||||
void ConstructLeptons();
|
||||
void ConstructMesons();
|
||||
void ConstructBaryons();
|
||||
|
||||
protected:
|
||||
// these methods Construct physics processes and register them
|
||||
void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07PrimaryGeneratorAction.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07PrimaryGeneratorAction_h
|
||||
#define ExN07PrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
|
||||
class ExN07PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
ExN07PrimaryGeneratorAction();
|
||||
virtual ~ExN07PrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
|
||||
private:
|
||||
G4ParticleGun* particleGun;
|
||||
G4bool serial;
|
||||
|
||||
public:
|
||||
inline void SetSerial(G4bool ser)
|
||||
{ serial = ser; }
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07Run.hh,v 1.3 2003/04/09 23:20:58 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07Run_h
|
||||
#define ExN07Run_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Run.hh"
|
||||
#include "G4Allocator.hh"
|
||||
|
||||
class G4Event;
|
||||
class G4HCtable;
|
||||
class G4DCtable;
|
||||
|
||||
class ExN07Run : public G4Run
|
||||
{
|
||||
public:
|
||||
ExN07Run();
|
||||
virtual ~ExN07Run();
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void* aRun);
|
||||
|
||||
public:
|
||||
virtual void RecordEvent(const G4Event*);
|
||||
|
||||
private:
|
||||
G4double totE[6];
|
||||
G4double totL[6];
|
||||
G4int nStep[6];
|
||||
G4int nGamma[6];
|
||||
G4int nElectron[6];
|
||||
G4int nPositron[6];
|
||||
G4double eMinGamma[6];
|
||||
G4double eMinElectron[6];
|
||||
G4double eMinPositron[6];
|
||||
|
||||
public:
|
||||
inline G4double GetTotalE(G4int i) const
|
||||
{ return totE[i]; }
|
||||
inline G4double GetTotalL(G4int i) const
|
||||
{ return totL[i]; }
|
||||
inline G4int GetNStep(G4int i) const
|
||||
{ return nStep[i]; }
|
||||
inline G4int GetNGamma(G4int i) const
|
||||
{ return nGamma[i]; }
|
||||
inline G4int GetNElectron(G4int i) const
|
||||
{ return nElectron[i]; }
|
||||
inline G4int GetNPositron(G4int i) const
|
||||
{ return nPositron[i]; }
|
||||
inline G4double GetEMinGamma(G4int i) const
|
||||
{ return eMinGamma[i]; }
|
||||
inline G4double GetEMinElectron(G4int i) const
|
||||
{ return eMinElectron[i]; }
|
||||
inline G4double GetEMinPositron(G4int i) const
|
||||
{ return eMinPositron[i]; }
|
||||
};
|
||||
|
||||
extern G4Allocator<ExN07Run> anExN07RunAllocator;
|
||||
|
||||
inline void* ExN07Run::operator new(size_t)
|
||||
{
|
||||
void* aRun;
|
||||
aRun = (void*)anExN07RunAllocator.MallocSingle();
|
||||
return aRun;
|
||||
}
|
||||
|
||||
inline void ExN07Run::operator delete(void* aRun)
|
||||
{
|
||||
anExN07RunAllocator.FreeSingle((ExN07Run*)aRun);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07RunAction.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
|
||||
#ifndef ExN07RunAction_h
|
||||
#define ExN07RunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Run;
|
||||
|
||||
class ExN07RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
ExN07RunAction();
|
||||
~ExN07RunAction();
|
||||
|
||||
public:
|
||||
G4Run* GenerateRun();
|
||||
void EndOfRunAction(const G4Run*);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
#ifndef ExN07StackingAction_H
|
||||
#define ExN07StackingAction_H 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UserStackingAction.hh"
|
||||
|
||||
class G4Track;
|
||||
|
||||
class ExN07StackingAction : public G4UserStackingAction
|
||||
{
|
||||
public:
|
||||
ExN07StackingAction();
|
||||
virtual ~ExN07StackingAction();
|
||||
|
||||
public:
|
||||
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
|
||||
virtual void PrepareNewEvent();
|
||||
|
||||
private:
|
||||
static G4int nGamma[6];
|
||||
static G4int nElectron[6];
|
||||
static G4int nPositron[6];
|
||||
static G4double eMinGamma[6];
|
||||
static G4double eMinElectron[6];
|
||||
static G4double eMinPositron[6];
|
||||
|
||||
public:
|
||||
static G4int GetNGamma(G4int i) { return nGamma[i]; }
|
||||
static G4int GetNElectron(G4int i) { return nElectron[i]; }
|
||||
static G4int GetNPositron(G4int i) { return nPositron[i]; }
|
||||
static G4double GetEMinGamma(G4int i) { return eMinGamma[i]; }
|
||||
static G4double GetEMinElectron(G4int i) { return eMinElectron[i]; }
|
||||
static G4double GetEMinPositron(G4int i) { return eMinPositron[i]; }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: ExN07VisManager.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef ExN07VisManager_h
|
||||
#define ExN07VisManager_h 1
|
||||
|
||||
#ifdef G4VIS_USE
|
||||
|
||||
#include "G4VisManager.hh"
|
||||
|
||||
class ExN07VisManager: public G4VisManager {
|
||||
|
||||
public:
|
||||
|
||||
ExN07VisManager ();
|
||||
|
||||
private:
|
||||
|
||||
void RegisterGraphicsSystems ();
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user