Import Geant4 8.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:44:26 +02:00
parent 8a51e0bc40
commit 216a75eeb1
8717 changed files with 360418 additions and 141343 deletions
@@ -0,0 +1,154 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamCellParameterisation.hh,v 1.5 2006/06/29 16:04:59 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamCellParameterisation_H
#define MicrobeamCellParameterisation_H 1
#include "G4VPVParameterisation.hh"
#include "G4ThreeVector.hh"
#include "G4Material.hh"
#include "G4VisAttributes.hh"
class G4VPhysicalVolume;
class G4Box;
class G4Tubs;
class G4Trd;
class G4Trap;
class G4Cons;
class G4Sphere;
class G4Orb;
class G4Torus;
class G4Para;
class Polycone;
class Polyhedra;
class G4Hype;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class MicrobeamCellParameterisation : public G4VPVParameterisation
{
public:
MicrobeamCellParameterisation
(G4int NoBoxes, G4float DimBoxX, G4float DimBoxY, G4float DimBoxZ,
G4Material* nucleus1, G4Material* cytoplasm1,
G4Material* nucleus2, G4Material* cytoplasm2,
G4Material* nucleus3, G4Material* cytoplasm3
);
virtual
~MicrobeamCellParameterisation();
void ComputeTransformation (const G4int copyNo,G4VPhysicalVolume* physVol) const;
void ComputeDimensions(G4Box&,
const G4int,
const G4VPhysicalVolume* ) const;
void ComputeDimensions(G4Tubs &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Trd &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Trap &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Cons &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Sphere &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Orb &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Torus &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Para &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Polycone &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Polyhedra &,
const G4int,
const G4VPhysicalVolume *) const {}
void ComputeDimensions(G4Hype &,
const G4int,
const G4VPhysicalVolume *) const {}
G4int GetNoBoxes() {return NoCellBoxes;}
G4Material* ComputeMaterial(const G4int copyNo,
G4VPhysicalVolume* physVol,
const G4VTouchable*);
private:
G4int NoCellBoxes;
G4float DimCellBoxX;
G4float DimCellBoxY;
G4float DimCellBoxZ;
G4Material * nucleusMaterial1;
G4Material * cytoplasmMaterial1;
G4Material * nucleusMaterial2;
G4Material * cytoplasmMaterial2;
G4Material * nucleusMaterial3;
G4Material * cytoplasmMaterial3;
G4VisAttributes * nucleusAttributes1;
G4VisAttributes * cytoplasmAttributes1;
G4VisAttributes * nucleusAttributes2;
G4VisAttributes * cytoplasmAttributes2;
G4VisAttributes * nucleusAttributes3;
G4VisAttributes * cytoplasmAttributes3;
// PHANTOM SIZE IN VOXELS
G4ThreeVector *mapCell ; // VOXEL COORDINATES
G4float *material ; // MATERIAL
G4float *mass ; // DENSITY REGION
};
#endif
@@ -0,0 +1,209 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamDetectorConstruction.hh,v 1.5 2006/06/29 16:05:01 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamDetectorConstruction_h
#define MicrobeamDetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "G4Box.hh"
#include "G4Cons.hh"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
#include "G4Material.hh"
#include "G4PVPlacement.hh"
#include "G4UserLimits.hh"
//#include "G4Ellipsoid.hh"
#include "G4PVParameterised.hh"
#include "G4EqMagElectricField.hh"
#include "G4PropagatorInField.hh"
#include "G4TransportationManager.hh"
#include "G4ChordFinder.hh"
#include "G4ClassicalRK4.hh"
#include "MicrobeamPhantomConfiguration.hh"
#include "MicrobeamCellParameterisation.hh"
#include "MicrobeamEMField.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamDetectorConstruction : public G4VUserDetectorConstruction
{
public:
MicrobeamDetectorConstruction();
~MicrobeamDetectorConstruction();
G4VPhysicalVolume* Construct();
void SetMassNucleus(G4float mN){ massNucleus = mN;}
G4float GetMassNucleus(){return massNucleus;}
void SetMassCytoplasm(G4float mC){ massCytoplasm = mC;}
G4float GetMassCytoplasm(){return massCytoplasm;}
void SetNbOfPixelsInPhantom(G4int nP){ nbOfPixelsInPhantom = nP;}
G4int GetNbOfPixelsInPhantom(){return nbOfPixelsInPhantom;}
private:
G4float massPhantom;
G4float massNucleus;
G4float massCytoplasm;
G4double densityPhantom;
G4double densityNucleus;
G4double densityCytoplasm;
G4int nbOfPixelsInPhantom;
G4double WorldSizeXY;
G4double WorldSizeZ;
G4double CollObjSizeXY;
G4double CollObjSizeZ;
G4double CiblePositionX;
G4double CiblePositionY;
G4double CiblePositionZ;
G4double lineAngle;
// Materials
G4Material* defaultMaterial;
G4Material* collimatorMaterial;
G4Material* BoiteMaterial;
G4Material* CathodeMaterial;
G4Material* VerreMaterial;
G4Material* Verre2Material;
G4Material* KgmMaterial;
G4Material* Boite2Material;
G4Material* Boite3Material;
G4Material* nucleusMaterial1;
G4Material* cytoplasmMaterial1;
G4Material* nucleusMaterial2;
G4Material* cytoplasmMaterial2;
G4Material* nucleusMaterial3;
G4Material* cytoplasmMaterial3;
// Volumes
G4VPhysicalVolume* physiWorld;
G4LogicalVolume* logicWorld;
G4Box* solidWorld;
G4VPhysicalVolume* physiVol;
G4LogicalVolume* logicVol;
G4Box* solidVol;
G4VPhysicalVolume* physiBoite;
G4LogicalVolume* logicBoite;
G4Box* solidBoite;
G4VPhysicalVolume* physiYoke1;
G4LogicalVolume* logicYoke1;
G4Box* solidYoke1;
G4VPhysicalVolume* physi1Gap;
G4LogicalVolume* logic1Gap;
G4Cons* solid1Gap;
G4VPhysicalVolume* physi2Gap;
G4LogicalVolume* logic2Gap;
G4Cons* solid2Gap;
G4VPhysicalVolume* physi3Gap;
G4LogicalVolume* logic3Gap;
G4Cons* solid3Gap;
G4VPhysicalVolume* physiYoke2;
G4LogicalVolume* logicYoke2;
G4Box* solidYoke2;
G4VPhysicalVolume* physi4Gap;
G4LogicalVolume* logic4Gap;
G4Cons* solid4Gap;
G4VPhysicalVolume* physi5Gap;
G4LogicalVolume* logic5Gap;
G4Cons* solid5Gap;
G4VPhysicalVolume* physiBoiteIso;
G4LogicalVolume* logicBoiteIso;
G4Box* solidBoiteIso;
G4VPhysicalVolume* physiCathode;
G4LogicalVolume* logicCathode;
G4Box* solidCathode;
G4VPhysicalVolume* physiIso;
G4LogicalVolume* logicIso;
G4Box* solidIso;
G4VPhysicalVolume* physiVerre;
G4LogicalVolume* logicVerre;
G4Box* solidVerre;
G4VPhysicalVolume* physiBoite2;
G4LogicalVolume* logicBoite2;
G4Box* solidBoite2;
G4VPhysicalVolume* physiBoite3;
G4LogicalVolume* logicBoite3;
G4Box* solidBoite3;
G4VPhysicalVolume* physiKgm;
G4LogicalVolume* logicKgm;
G4Box* solidKgm;
G4VPhysicalVolume* physiVerre2;
G4LogicalVolume* logicVerre2;
G4Box* solidVerre2;
// CELL
G4VPhysicalVolume* physiPhantom;
G4LogicalVolume* logicPhantom;
G4Box* solidPhantom;
MicrobeamPhantomConfiguration myMicrobeamPhantomConfiguration;
MicrobeamCellParameterisation* phantomParam ;
MicrobeamEMField * Field;
void DefineMaterials();
G4VPhysicalVolume* ConstructMicrobeamLine();
G4FieldManager *pFieldMgr;
G4MagIntegratorStepper * pStepper;
G4EqMagElectricField * pEquation;
G4MagInt_Driver * pIntgrDriver;
G4ChordFinder *pChordFinder ;
G4PropagatorInField *propInField;
};
#endif
+51
View File
@@ -0,0 +1,51 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamEMField.hh,v 1.5 2006/06/29 16:05:03 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamEMField_h
#define MicrobeamEMField_h 1
#include "globals.hh"
#include "G4ElectroMagneticField.hh"
class MicrobeamEMField
#ifndef STANDALONE
: public G4ElectroMagneticField
#endif
{
public:
MicrobeamEMField();
void GetFieldValue( const double Point[4], double *Bfield ) const;
G4bool DoesFieldChangeEnergy() const {return true;}
};
#endif
@@ -0,0 +1,63 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamEventAction.hh,v 1.5 2006/06/29 16:05:05 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamEventAction_h
#define MicrobeamEventAction_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
class MicrobeamRunAction;
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamEventAction : public G4UserEventAction
{
public:
MicrobeamEventAction(MicrobeamRunAction*);
~MicrobeamEventAction();
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
void SetDrawFlag (G4String val) {drawFlag = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
private:
MicrobeamRunAction* Run;
G4String drawFlag;
G4int printModulo;
};
#endif
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamPhantomConfiguration.hh,v 1.5 2006/06/29 16:05:07 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamPhantomConfiguration_h
#define MicrobeamPhantomDicomConfiguration_h 1
#include "G4ThreeVector.hh"
class MicrobeamPhantomConfiguration
{
public:
MicrobeamPhantomConfiguration();
~MicrobeamPhantomConfiguration();
G4int Initialize();
G4int GetPhantomTotalPixels() {return phantomTotalPixels;}
G4int GetNucleusTotalPixels() {return nucleusTotalPixels;}
G4int GetCytoplasmTotalPixels() {return cytoplasmTotalPixels;}
G4float GetPixelSizeX() {return dx;}
G4float GetPixelSizeY() {return dy;}
G4float GetPixelSizeZ() {return dz;}
G4float GetCytoplasmMass() {return cytoplasmMass;}
G4float GetNucleusMass() {return nucleusMass;}
G4ThreeVector GetVoxelThreeVector(G4int i) {return voxelThreeVector[i];}
private:
static G4int phantomTotalPixels;
static G4int nucleusTotalPixels;
static G4int cytoplasmTotalPixels;
static G4float dx;
static G4float dy;
static G4float dz;
static G4float nucleusMass;
static G4float cytoplasmMass;
G4ThreeVector * voxelThreeVector;
};
#endif
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamPhysicsList.hh,v 1.5 2006/06/29 16:05:09 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamPhysicsList_h
#define MicrobeamPhysicsList_h 1
#include "G4VUserPhysicsList.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamPhysicsList: public G4VUserPhysicsList
{
public:
MicrobeamPhysicsList();
~MicrobeamPhysicsList();
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
protected:
void ConstructParticle();
void ConstructBosons();
void ConstructLeptons();
void ConstructBaryons();
void ConstructProcess();
void ConstructEM();
void ConstructHad();
void ConstructGeneral();
void SetCuts();
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamPrimaryGeneratorAction.hh,v 1.5 2006/06/29 16:05:11 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamPrimaryGeneratorAction_h
#define MicrobeamPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ParticleGun.hh"
#include "MicrobeamDetectorConstruction.hh"
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
MicrobeamPrimaryGeneratorAction(MicrobeamDetectorConstruction*);
~MicrobeamPrimaryGeneratorAction();
void GeneratePrimaries(G4Event*);
private:
G4ParticleGun* particleGun;
MicrobeamDetectorConstruction* Detector;
};
#endif
+110
View File
@@ -0,0 +1,110 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamRunAction.hh,v 1.5 2006/06/29 16:05:13 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamRunAction_h
#define MicrobeamRunAction_h 1
#include "G4UserRunAction.hh"
#include "G4ThreeVector.hh"
#include "MicrobeamDetectorConstruction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4Run;
class MicrobeamRunAction : public G4UserRunAction
{
public:
MicrobeamRunAction(MicrobeamDetectorConstruction*);
~MicrobeamRunAction();
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void SetRndmFreq(G4int val) {saveRndm = val;}
G4int GetRndmFreq() {return saveRndm;}
void AddDoseN(G4float dose){ DoseN += dose;}
void SetDoseN(G4float dose){ DoseN = dose;}
G4float GetDoseN(){return DoseN;}
void AddDoseC(G4float dose){ DoseC += dose;}
void SetDoseC(G4float dose){ DoseC = dose;}
G4float GetDoseC(){return DoseC;}
G4int GetNumEvent(){return numEvent;}
void SetNumEvent(G4int i){numEvent = i;}
G4int GetNbOfHitsGas(){return nbOfHitsGas;}
void AddNbOfHitsGas(){nbOfHitsGas = nbOfHitsGas+1;}
void SetMassNucleus(G4float mN){ massNucleus = mN;}
G4float GetMassNucleus(){return massNucleus;}
void SetMassCytoplasm(G4float mC){ massCytoplasm = mC;}
G4float GetMassCytoplasm(){return massCytoplasm;}
void AddDoseBox(G4int i, G4float x){ dose3DDose[i] +=x;}
G4float GetDoseBox(G4int i){ return dose3DDose[i];}
G4ThreeVector GetVectCell(G4int i) {return mapVoxels[i];}
private:
MicrobeamDetectorConstruction* Detector;
MicrobeamPhantomConfiguration myMicrobeamPhantomConfiguration;
G4int saveRndm;
G4int numEvent;
G4int nbOfPixels;
G4int nbOfHitsGas;
G4float SP;
G4float R;
G4float RnElec;
G4float RcElec;
G4float DoseN;
G4float DoseC;
G4float DoseNElec;
G4float DoseCElec;
G4float massPhantom;
G4float massCytoplasm;
G4float massNucleus;
G4bool boolSP;
G4int * x3DDose;
G4int * y3DDose;
G4int * z3DDose;
G4float * dose3DDose;
G4ThreeVector * mapVoxels;
};
#endif
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamSteppingAction.hh,v 1.5 2006/06/29 16:05:15 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamSteppingAction_h
#define MicrobeamSteppingAction_h 1
#include "G4UserSteppingAction.hh"
#include "MicrobeamRunAction.hh"
#include "MicrobeamDetectorConstruction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamSteppingAction : public G4UserSteppingAction
{
public:
MicrobeamSteppingAction(MicrobeamRunAction* ,MicrobeamDetectorConstruction*);
~MicrobeamSteppingAction();
void UserSteppingAction(const G4Step*);
private:
MicrobeamRunAction* Run;
MicrobeamDetectorConstruction* Detector;
G4float massPhantom;
};
#endif
@@ -0,0 +1,47 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamSteppingVerbose.hh,v 1.5 2006/06/29 16:05:17 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamSteppingVerbose_h
#define MicrobeamSteppingVerbose_h 1
#include "G4SteppingVerbose.hh"
class MicrobeamSteppingVerbose : public G4SteppingVerbose {
public:
MicrobeamSteppingVerbose();
~MicrobeamSteppingVerbose();
void StepInfo();
void TrackingStarted();
};
#endif
@@ -0,0 +1,52 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamTrackingAction.hh,v 1.5 2006/06/29 16:05:19 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamTrackingAction_h
#define MicrobeamTrackingAction_h 1
#include "G4UserTrackingAction.hh"
class MicrobeamRunAction;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamTrackingAction : public G4UserTrackingAction
{
public:
MicrobeamTrackingAction(MicrobeamRunAction*);
~MicrobeamTrackingAction() {};
void PostUserTrackingAction(const G4Track*);
private:
MicrobeamRunAction * Run;
};
#endif
+47
View File
@@ -0,0 +1,47 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: MicrobeamVisManager.hh,v 1.5 2006/06/29 16:05:21 gunter Exp $
// -------------------------------------------------------------------
#ifndef MicrobeamVisManager_h
#define MicrobeamVisManager_h 1
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class MicrobeamVisManager: public G4VisManager {
public:
MicrobeamVisManager ();
private:
void RegisterGraphicsSystems ();
};
#endif