Import Geant4 6.2.0 source tree
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef LISAAnalysisManager_h
|
||||
#define LISAAnalysisManager_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include <AIDA/AIDA.h>
|
||||
|
||||
namespace AIDA {
|
||||
class IAnalysisFactory;
|
||||
class ITree;
|
||||
class IHistogramFactory;
|
||||
class ITupleFactory;
|
||||
class ITuple;
|
||||
class IHistogram1D;
|
||||
class IHistogram2D;
|
||||
class IPlotter;
|
||||
class IFitter;
|
||||
class IFitResult;
|
||||
class IFitData;
|
||||
class IRangeSet;
|
||||
class IFitParameterSettings;
|
||||
class IFunctionFactory;
|
||||
class IFunction;
|
||||
class IFitFactory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class LISAAnalysisManager {
|
||||
|
||||
public:
|
||||
virtual ~LISAAnalysisManager();
|
||||
void Init();
|
||||
void Dispose();
|
||||
|
||||
|
||||
// Run analysis
|
||||
void bookRun(G4String);
|
||||
void FinishRun();
|
||||
void analyseRun
|
||||
(G4int evt, G4int tm, G4double energy, G4int charge,
|
||||
G4int in, G4int out, long seed1, long seed2);
|
||||
|
||||
// grab instance
|
||||
static LISAAnalysisManager* getInstance();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// private constructor for singleton
|
||||
LISAAnalysisManager();
|
||||
|
||||
static LISAAnalysisManager* instance;
|
||||
|
||||
|
||||
AIDA::IAnalysisFactory *af;
|
||||
AIDA::ITreeFactory *tf;
|
||||
AIDA::ITree *run_tree;
|
||||
AIDA::ITupleFactory *run_tpf;
|
||||
AIDA::ITuple *run_tuple;
|
||||
|
||||
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISADetectorConstruction_h
|
||||
#define LISADetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
|
||||
#include "G4UserLimits.hh"
|
||||
|
||||
#include "G4Material.hh"
|
||||
#include "G4MaterialTable.hh"
|
||||
#include "G4MaterialPropertiesTable.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4Isotope.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
|
||||
#include "G4Box.hh"
|
||||
#include "G4Tubs.hh"
|
||||
#include "G4Sphere.hh"
|
||||
#include "G4Cons.hh"
|
||||
#include "G4Trap.hh"
|
||||
#include "G4Torus.hh"
|
||||
#include "G4Trd.hh"
|
||||
#include "G4VSolid.hh"
|
||||
#include "G4UnionSolid.hh"
|
||||
#include "G4SubtractionSolid.hh"
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
#include "G4Transform3D.hh"
|
||||
|
||||
#include "G4PVPlacement.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
|
||||
#include "G4Region.hh"
|
||||
|
||||
#include "G4VisAttributes.hh"
|
||||
#include "G4Colour.hh"
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
|
||||
class LISADetectorConstruction : public G4VUserDetectorConstruction {
|
||||
|
||||
public:
|
||||
LISADetectorConstruction();
|
||||
~LISADetectorConstruction();
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
private:
|
||||
void ConstructMaterials();
|
||||
G4VPhysicalVolume* ConstructDetector();
|
||||
|
||||
|
||||
private:
|
||||
// pointers to materials
|
||||
G4Material *vacuum;
|
||||
G4Material *Al6061;
|
||||
G4Material *AlHoneycomb;
|
||||
G4Material *Scell;
|
||||
G4Material *MLImat;
|
||||
G4Material *molybdenum;
|
||||
G4Material *TiAlloy;
|
||||
G4Material *gold;
|
||||
G4Material *AuPt;
|
||||
G4Material *CFRP;
|
||||
G4Material *ULEglass;
|
||||
G4Material *SHAPAL;
|
||||
G4Material *SiC;
|
||||
G4Material *foam;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
|
||||
void LISADetectorConstruction::ConstructMaterials(void) {
|
||||
|
||||
// Elements
|
||||
|
||||
G4Element* elementH = new G4Element("Hydrogen", "H", 1., 1.0079*g/mole);
|
||||
G4Element* elementC = new G4Element("Carbon", "C", 6., 12.011*g/mole);
|
||||
G4Element* elementN = new G4Element("Nitrogen", "N", 7., 14.007*g/mole);
|
||||
G4Element* elementO = new G4Element("Oxygen", "O", 8., 15.9994*g/mole);
|
||||
G4Element* elementMg = new G4Element("Magnesium", "Mg",12., 24.3050*g/mole);
|
||||
G4Element* elementAl = new G4Element("Aluminium", "Al",13., 26.9815*g/mole);
|
||||
G4Element* elementSi = new G4Element("Silicon", "Si",14., 28.0855*g/mole);
|
||||
G4Element* elementTi = new G4Element("Titanium", "Ti",22., 47.90*g/mole);
|
||||
G4Element* elementV = new G4Element("Vanadium", "V", 23., 50.9415*g/mole);
|
||||
G4Element* elementFe = new G4Element("Iron", "Fe",26., 55.845*g/mole);
|
||||
G4Element* elementMo = new G4Element("Molybdenum","Mo",42., 95.94*g/mole);
|
||||
G4Element* elementPt = new G4Element("Platinum", "Pt",78., 195.08*g/mole);
|
||||
G4Element* elementAu = new G4Element("Gold", "Au",79., 196.97*g/mole);
|
||||
|
||||
|
||||
// Materials
|
||||
|
||||
vacuum = new G4Material("vacuum", 1, 1.00794*g/mole,
|
||||
1.0E-25*g/cm3, kStateGas, 0.1*kelvin, 1.0E-19*pascal);
|
||||
|
||||
// Aluminium alloy 6061-T6
|
||||
Al6061 = new G4Material("Al6061", 2.70*g/cm3, 4);
|
||||
Al6061->AddElement(elementAl, 0.980);
|
||||
Al6061->AddElement(elementMg, 0.010);
|
||||
Al6061->AddElement(elementSi, 0.006);
|
||||
Al6061->AddElement(elementFe, 0.004);
|
||||
|
||||
// Aluminium Alloy honeycomb
|
||||
AlHoneycomb = new G4Material("AlHoneycomb",0.05*g/cm3, 4);
|
||||
AlHoneycomb->AddElement(elementAl, 0.980);
|
||||
AlHoneycomb->AddElement(elementMg, 0.010);
|
||||
AlHoneycomb->AddElement(elementSi, 0.006);
|
||||
AlHoneycomb->AddElement(elementFe, 0.004);
|
||||
|
||||
// Solar Cells****
|
||||
Scell = new G4Material("Scell", 7.82*g/cm3, 1);
|
||||
Scell->AddElement(elementSi, 1.00);
|
||||
|
||||
// MLI Blanket: mylar (composition from STAR Stopping Power database)
|
||||
MLImat = new G4Material("MLImat", 1.40*g/cm3, 3);
|
||||
MLImat->AddElement(elementH, 0.041959);
|
||||
MLImat->AddElement(elementC, 0.625017);
|
||||
MLImat->AddElement(elementO, 0.333025);
|
||||
|
||||
// Molybdenum
|
||||
molybdenum = new G4Material("molybdenum", 10.22*g/cm3, 1);
|
||||
molybdenum->AddElement(elementMo, 1.00);
|
||||
|
||||
// Titanium Alloy (Ti-6Al-4V)
|
||||
TiAlloy = new G4Material("TiAlloy", 4.43*g/cm3, 3);
|
||||
TiAlloy->AddElement(elementTi, 0.90);
|
||||
TiAlloy->AddElement(elementAl, 0.06);
|
||||
TiAlloy->AddElement(elementV, 0.04);
|
||||
|
||||
// Gold
|
||||
gold = new G4Material("gold", 19.32*g/cm3, 1);
|
||||
gold->AddElement(elementAu, 1.00);
|
||||
|
||||
// Gold-Platinum 70%/30%
|
||||
AuPt = new G4Material("AuPt", 19.92*g/cm3, 2);
|
||||
AuPt->AddElement(elementAu, 0.70);
|
||||
AuPt->AddElement(elementPt, 0.30);
|
||||
|
||||
// CRFP (Carbon Fiber Reinforced Polymer): M55 Quasiisotropic Layup
|
||||
CFRP = new G4Material("CFRP", 1.66*g/cm3, 1);
|
||||
CFRP->AddElement(elementC,1);
|
||||
|
||||
// Silicate glass
|
||||
G4Material* SiGlass = new G4Material("SiGlass", 2.20*g/cm3, 2);
|
||||
SiGlass->AddElement(elementO, 2);
|
||||
SiGlass->AddElement(elementSi,1);
|
||||
// Titanium glass
|
||||
G4Material* TiGlass = new G4Material("TiGlass", 4.25*g/cm3, 2);
|
||||
TiGlass->AddElement(elementO, 2);
|
||||
TiGlass->AddElement(elementTi,1);
|
||||
// Corning 7972 ULE Titanium Silicate Glass
|
||||
ULEglass = new G4Material("ULEglass", 2.21*g/cm3, 2);
|
||||
ULEglass->AddMaterial(SiGlass, 0.925);
|
||||
ULEglass->AddMaterial(TiGlass, 0.075);
|
||||
|
||||
// SHAPAL-M (AlN)
|
||||
SHAPAL = new G4Material("SHAPAL-M", 2.90*g/cm3, 2);
|
||||
SHAPAL->AddElement(elementAl,1);
|
||||
SHAPAL->AddElement(elementN, 1);
|
||||
|
||||
// Silicon carbide
|
||||
SiC = new G4Material("SiC", 3.1*g/cm3, 2);
|
||||
SiC->AddElement(elementSi,1);
|
||||
SiC->AddElement(elementC, 1);
|
||||
|
||||
// Foam: Polystyrene-based
|
||||
foam = new G4Material("foam",0.05*g/cm3, 2);
|
||||
foam->AddElement(elementC, 0.90);
|
||||
foam->AddElement(elementH, 0.10);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAEventAction_h
|
||||
#define LISAEventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <strstream>
|
||||
|
||||
class LISAPrimaryGeneratorAction;
|
||||
class LISASteppingAction;
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
class LISAEventAction : public G4UserEventAction {
|
||||
|
||||
public:
|
||||
LISAEventAction(LISAPrimaryGeneratorAction*, LISASteppingAction*);
|
||||
virtual ~LISAEventAction();
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
private:
|
||||
LISAPrimaryGeneratorAction* genAction;
|
||||
LISASteppingAction* stepAction;
|
||||
|
||||
public:
|
||||
inline void SetFilename(const G4String& name) {filename = name;};
|
||||
|
||||
|
||||
private:
|
||||
G4int event_id;
|
||||
G4double energy_pri;
|
||||
G4int charge_in[2];
|
||||
G4int charge_out[2];
|
||||
G4int charge_tot[2];
|
||||
const long* seeds;
|
||||
G4String filename;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAPhysicsList_h
|
||||
#define LISAPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class LISAPhysicsList: public G4VUserPhysicsList {
|
||||
|
||||
public:
|
||||
LISAPhysicsList();
|
||||
virtual ~LISAPhysicsList();
|
||||
|
||||
public:
|
||||
virtual void SetCuts();
|
||||
|
||||
protected:
|
||||
// particles and physics
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
// physics processes
|
||||
virtual void AddTransportation();
|
||||
virtual void ElectromagneticPhysics();
|
||||
virtual void HadronicPhysics();
|
||||
virtual void ElectroNuclearPhysics();
|
||||
virtual void GeneralPhysics();
|
||||
|
||||
private:
|
||||
G4int VerboseLevel;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAPrimaryGeneratorAction_h
|
||||
#define LISAPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4GeneralParticleSource;
|
||||
class G4Event;
|
||||
|
||||
class LISAPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction {
|
||||
|
||||
public:
|
||||
LISAPrimaryGeneratorAction();
|
||||
~LISAPrimaryGeneratorAction();
|
||||
void GeneratePrimaries(G4Event* anEvent);
|
||||
|
||||
private:
|
||||
G4GeneralParticleSource* particleGun;
|
||||
|
||||
private:
|
||||
long seeds[2];
|
||||
G4double energy_pri;
|
||||
|
||||
public:
|
||||
const long* GetEventSeeds() {return seeds;};
|
||||
G4double GetEnergyPrimary() {return energy_pri;};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISARunAction_h
|
||||
#define LISARunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class LISARunActionMessenger;
|
||||
class G4Run;
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
class LISARunAction : public G4UserRunAction {
|
||||
|
||||
public:
|
||||
LISARunAction();
|
||||
~LISARunAction();
|
||||
|
||||
public:
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
|
||||
public:
|
||||
inline void SetAutoSeed (const G4bool val) {autoSeed = val;}
|
||||
|
||||
private:
|
||||
LISARunActionMessenger* runMessenger;
|
||||
|
||||
G4bool autoSeed;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISARunActionMessenger_h
|
||||
#define LISARunActionMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4UIcommand.hh"
|
||||
#include "G4UIcmdWithABool.hh"
|
||||
#include <strstream>
|
||||
#include "globals.hh"
|
||||
|
||||
class LISARunAction;
|
||||
|
||||
class LISARunActionMessenger: public G4UImessenger {
|
||||
|
||||
public:
|
||||
LISARunActionMessenger(LISARunAction*);
|
||||
~LISARunActionMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
LISARunAction* runAction;
|
||||
|
||||
G4UIcmdWithABool* SetAutoSeedCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAStackingAction_h
|
||||
#define LISAStackingAction_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UserStackingAction.hh"
|
||||
|
||||
class LISAStackingActionMessenger;
|
||||
class G4Track;
|
||||
|
||||
class LISAStackingAction : public G4UserStackingAction {
|
||||
|
||||
public:
|
||||
LISAStackingAction();
|
||||
virtual ~LISAStackingAction();
|
||||
|
||||
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
|
||||
virtual void NewStage();
|
||||
virtual void PrepareNewEvent();
|
||||
|
||||
public:
|
||||
inline void SetPrimarySurvey (const G4bool val) {PrimarySurveyFlag = val;}
|
||||
inline void SetParticleSurvey(const G4bool val) {ParticleSurveyFlag = val;}
|
||||
|
||||
private:
|
||||
LISAStackingActionMessenger* stackingMessenger;
|
||||
G4bool PrimarySurveyFlag;
|
||||
G4bool ParticleSurveyFlag;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAStackingActionMessenger_h
|
||||
#define LISAStackingActionMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4UIcommand.hh"
|
||||
#include "G4UIcmdWithABool.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class LISAStackingAction;
|
||||
|
||||
class LISAStackingActionMessenger: public G4UImessenger {
|
||||
|
||||
public:
|
||||
LISAStackingActionMessenger(LISAStackingAction*);
|
||||
~LISAStackingActionMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
LISAStackingAction* stackingAction;
|
||||
|
||||
G4UIcmdWithABool* SetPriSurvey;
|
||||
G4UIcmdWithABool* SetPartSurvey;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,73 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISASteppingAction_h
|
||||
#define LISASteppingAction_h 1
|
||||
|
||||
#include "G4UserSteppingAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class LISAEventAction;
|
||||
class LISASteppingActionMessenger;
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
class LISASteppingAction : public G4UserSteppingAction {
|
||||
|
||||
public:
|
||||
LISASteppingAction();
|
||||
virtual ~LISASteppingAction();
|
||||
|
||||
virtual void UserSteppingAction(const G4Step*);
|
||||
|
||||
public:
|
||||
inline void Discharge(void) {charge_in[0]=0; charge_out[0]=0;
|
||||
charge_in[1]=0; charge_out[1]=0;};
|
||||
|
||||
inline G4int GetChargeIn(const G4int tm) {return charge_in[tm];}
|
||||
inline G4int GetChargeOut(const G4int tm) {return charge_out[tm];}
|
||||
|
||||
|
||||
inline void SetFlagSpectrum(const G4bool val) {FlagSpectrum = val;}
|
||||
|
||||
private:
|
||||
G4int charge_in[2];
|
||||
G4int charge_out[2];
|
||||
|
||||
LISASteppingActionMessenger* steppingMessenger;
|
||||
G4bool FlagSpectrum;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISASteppingActionMessenger_h
|
||||
#define LISASteppingActionMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4UIcommand.hh"
|
||||
#include "G4UIcmdWithABool.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class LISASteppingAction;
|
||||
|
||||
class LISASteppingActionMessenger: public G4UImessenger {
|
||||
|
||||
public:
|
||||
LISASteppingActionMessenger(LISASteppingAction*);
|
||||
~LISASteppingActionMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
LISASteppingAction* steppingAction;
|
||||
|
||||
G4UIcmdWithABool* SetFlagSpectrum;
|
||||
|
||||
G4UIdirectory* newDir;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// * *
|
||||
// * cosmicray_charging advanced example for Geant4 *
|
||||
// * (adapted simulation of test-mass charging in the LISA mission) *
|
||||
// * *
|
||||
// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass *
|
||||
// * Imperial College London *
|
||||
// * *
|
||||
// ********************************************************************
|
||||
|
||||
#ifndef LISAVisManager_h
|
||||
#define LISAVisManager_h 1
|
||||
|
||||
#ifdef G4VIS_USE
|
||||
|
||||
#include "G4VisManager.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class LISAVisManager: public G4VisManager {
|
||||
|
||||
public:
|
||||
LISAVisManager();
|
||||
|
||||
private:
|
||||
void RegisterGraphicsSystems ();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user