Import Geant4 6.2.0 source tree
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ************************************
|
||||
// * *
|
||||
// * PurgMagAnalysisManager.hh *
|
||||
// * *
|
||||
// ************************************
|
||||
//
|
||||
// $Id: PurgMagAnalysisManager.hh,v 1.2 2004/06/18 09:17:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef G4PROCESSTESTANALYSIS_HH
|
||||
#define G4PROCESSTESTANALYSIS_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "AIDA/IHistogram1D.h"
|
||||
#include "AIDA/IHistogram2D.h"
|
||||
#include "AIDA/IAnalysisFactory.h"
|
||||
|
||||
namespace AIDA
|
||||
{
|
||||
class ITree;
|
||||
class IHistogramFactory;
|
||||
class IAnalysisFactory;
|
||||
class ITupleFactory;
|
||||
class ITuple;
|
||||
class ITreeFactory;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
class PurgMagAnalysisManager
|
||||
|
||||
{
|
||||
public:
|
||||
|
||||
~PurgMagAnalysisManager();
|
||||
|
||||
void book();
|
||||
|
||||
void finish();
|
||||
|
||||
static PurgMagAnalysisManager* getInstance();
|
||||
|
||||
void fill_Tuple_Electrons(G4double,G4double,G4double,G4double,G4double,G4double,G4double);
|
||||
void fill_Tuple_Gamma(G4double,G4double,G4double,G4double,G4double,G4double,G4double);
|
||||
void fill_Tuple_Positrons(G4double,G4double,G4double,G4double,G4double,G4double,G4double);
|
||||
|
||||
private:
|
||||
|
||||
G4double ex,ey,ez,ee,epx,epy,epz,gx,gy,gz,ge,gpx,gpy,gpz,px,py,pz,pe,ppx,ppy,ppz;
|
||||
|
||||
static PurgMagAnalysisManager* instance;
|
||||
|
||||
private:
|
||||
PurgMagAnalysisManager();
|
||||
|
||||
private:
|
||||
|
||||
AIDA::IAnalysisFactory* aFact;
|
||||
AIDA::ITree* theTree;
|
||||
AIDA::IHistogramFactory *histFact;
|
||||
AIDA::ITupleFactory *tupFact;
|
||||
AIDA::ITreeFactory *treeFact;
|
||||
AIDA::ITuple *ntuple1;
|
||||
AIDA::ITuple *ntuple2;
|
||||
AIDA::ITuple *ntuple3;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// *****************************************
|
||||
// * *
|
||||
// * PurgMagDetectorConstruction.hh *
|
||||
// * *
|
||||
// *****************************************
|
||||
//
|
||||
// $Id: PurgMagDetectorConstruction.hh,v 1.2 2004/06/18 09:17:44 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagDetectorConstruction_h
|
||||
#define PurgMagDetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
|
||||
class G4Box;
|
||||
class G4Trd;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class G4UniformMagField;
|
||||
class PurgMagTabulatedField3D;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
PurgMagDetectorConstruction();
|
||||
~PurgMagDetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
public:
|
||||
|
||||
void PrintDetectorParameters();
|
||||
|
||||
G4double GetWorldSizeXY() {return WorldSizeXY;};
|
||||
G4double GetWorldSizeZ() {return WorldSizeZ;};
|
||||
|
||||
G4double GetMeasureVolumeSizeXY() {return MeasureVolumeSizeXY;};
|
||||
G4double GetMeasureVolumeSizeZ() {return MeasureVolumeSizeZ;};
|
||||
|
||||
G4double GetGapSizeX1() {return GapSizeX1;};
|
||||
G4double GetGapSizeX2() {return GapSizeX2;};
|
||||
G4double GetGapSizeY1() {return GapSizeY1;};
|
||||
G4double GetGapSizeY2() {return GapSizeY2;};
|
||||
G4double GetGapSizeZ() {return GapSizeZ;};
|
||||
|
||||
G4Material* GetWorldMaterial() {return WorldMaterial;};
|
||||
G4Material* GetGapMaterial() {return GapMaterial;};
|
||||
|
||||
const G4VPhysicalVolume* GetWorld() {return physiWorld;};
|
||||
const G4VPhysicalVolume* GetMeasureVolume() {return physiMeasureVolume;};
|
||||
const G4VPhysicalVolume* GetGap1() {return physiGap1;};
|
||||
const G4VPhysicalVolume* GetGap2() {return physiGap2;};
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
G4double WorldSizeXY;
|
||||
G4double WorldSizeZ;
|
||||
|
||||
G4double MeasureVolumeSizeXY;
|
||||
G4double MeasureVolumeSizeZ;
|
||||
G4double MeasureVolumePosition;
|
||||
|
||||
G4double GapSizeX1;
|
||||
G4double GapSizeX2;
|
||||
G4double GapSizeY1;
|
||||
G4double GapSizeY2;
|
||||
G4double GapSizeZ;
|
||||
G4double Gap1PosX;
|
||||
G4double Gap1PosY;
|
||||
G4double Gap1PosZ;
|
||||
G4double Gap2PosX;
|
||||
G4double Gap2PosY;
|
||||
G4double Gap2PosZ;
|
||||
|
||||
G4double SSD;
|
||||
G4double zOffset;
|
||||
|
||||
G4VPhysicalVolume* physiWorld;
|
||||
G4LogicalVolume* logicWorld;
|
||||
G4Box* solidWorld;
|
||||
|
||||
|
||||
G4VPhysicalVolume* physiGap1;
|
||||
G4LogicalVolume* logicGap1;
|
||||
G4Trd* solidGap1;
|
||||
|
||||
|
||||
G4VPhysicalVolume* physiGap2;
|
||||
G4LogicalVolume* logicGap2;
|
||||
G4Trd* solidGap2;
|
||||
|
||||
G4VPhysicalVolume* physiMeasureVolume;
|
||||
G4LogicalVolume* logicMeasureVolume;
|
||||
G4Box* solidMeasureVolume;
|
||||
|
||||
G4Material* WorldMaterial;
|
||||
G4Material* GapMaterial;
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
G4VPhysicalVolume* ConstructCalorimeter();
|
||||
};
|
||||
|
||||
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ********************************
|
||||
// * *
|
||||
// * PurgMagEventAction.hh *
|
||||
// * *
|
||||
// ********************************
|
||||
//
|
||||
// $Id: PurgMagEventAction.hh,v 1.2 2004/06/18 09:17:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagEventAction_h
|
||||
#define PurgMagEventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class PurgMagRunAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
|
||||
PurgMagEventAction(PurgMagRunAction*);
|
||||
~PurgMagEventAction();
|
||||
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
|
||||
void SetDrawFlag (G4String val) {drawFlag = val;};
|
||||
void SetPrintModulo(G4int val) {printModulo = val;};
|
||||
|
||||
private:
|
||||
|
||||
PurgMagRunAction* PurgMagRun;
|
||||
G4String drawFlag;
|
||||
G4int printModulo;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ********************************
|
||||
// * *
|
||||
// * PurgMagPhysicsList.hh *
|
||||
// * *
|
||||
// ********************************
|
||||
//
|
||||
//
|
||||
// $Id: PurgMagPhysicsList.hh,v 1.2 2004/06/18 09:17:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagPhysicsList_h
|
||||
#define PurgMagPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4GammaConversion;
|
||||
class G4ComptonScattering;
|
||||
class G4PhotoElectricEffect;
|
||||
|
||||
class G4eIonisation;
|
||||
class G4eBremsstrahlung;
|
||||
|
||||
|
||||
class PurgMagPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
PurgMagPhysicsList();
|
||||
~PurgMagPhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
void SetCuts();
|
||||
|
||||
public:
|
||||
// Set Cuts
|
||||
void SetGammaCut(G4double);
|
||||
void SetElectronCut(G4double);
|
||||
void SetPositronCut(G4double);
|
||||
void SetProtonCut(G4double);
|
||||
|
||||
void SetGammaLowLimit(G4double);
|
||||
void SetElectronLowLimit(G4double);
|
||||
void SetPositronLowLimit(G4double);
|
||||
void SetProtonLowLimit(G4double);
|
||||
void SetGEPLowLimit(G4double);
|
||||
|
||||
void SetGELowLimit(G4double);
|
||||
|
||||
private:
|
||||
|
||||
G4double cutForGamma;
|
||||
G4double cutForElectron;
|
||||
G4double cutForPositron;
|
||||
G4double cutForProton;
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
void ConstructBosons();
|
||||
void ConstructLeptons();
|
||||
void ConstructBarions();
|
||||
|
||||
protected:
|
||||
// these methods Construct physics processes and register them
|
||||
void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ********************************************
|
||||
// * *
|
||||
// * PurgMagPrimaryGeneratorAction.hh *
|
||||
// * *
|
||||
// ********************************************
|
||||
//
|
||||
// $Id: PurgMagPrimaryGeneratorAction.hh,v 1.2 2004/06/18 09:17:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagPrimaryGeneratorAction_h
|
||||
#define PurgMagPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class PurgMagDetectorConstruction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
PurgMagPrimaryGeneratorAction(PurgMagDetectorConstruction*);
|
||||
~PurgMagPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event*);
|
||||
void SetRndmVertex(G4bool val) { rndmVertex = val;}
|
||||
|
||||
private:
|
||||
G4ParticleGun* particleGun;
|
||||
PurgMagDetectorConstruction* PurgMagDetector;
|
||||
|
||||
G4bool rndmVertex;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ******************************
|
||||
// * *
|
||||
// * PurgMagRunAction.hh *
|
||||
// * *
|
||||
// ******************************
|
||||
//
|
||||
// $Id: PurgMagRunAction.hh,v 1.2 2004/06/18 09:17:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
#ifndef PurgMagRunAction_h
|
||||
#define PurgMagRunAction_h 1
|
||||
|
||||
#include "PurgMagDetectorConstruction.hh"
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
#include <iostream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4Run;
|
||||
|
||||
class PurgMagRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
|
||||
PurgMagRunAction(PurgMagDetectorConstruction*);
|
||||
~PurgMagRunAction();
|
||||
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
void SetRndmFreq(G4int val) {saveRndm = val;}
|
||||
G4int GetRndmFreq() {return saveRndm;}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
PurgMagDetectorConstruction* Detector;
|
||||
G4int saveRndm;
|
||||
|
||||
};
|
||||
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ***********************************
|
||||
// * *
|
||||
// * PurgMagSteppingAction.hh *
|
||||
// * *
|
||||
// ***********************************
|
||||
//
|
||||
// $Id: PurgMagSteppingAction.hh,v 1.2 2004/06/18 09:17:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagSteppingAction_h
|
||||
#define PurgMagSteppingAction_h 1
|
||||
|
||||
#include "G4UserSteppingAction.hh"
|
||||
#include "G4VPVParameterisation.hh"
|
||||
#include "G4PVParameterised.hh"
|
||||
#include "G4Tubs.hh"
|
||||
|
||||
|
||||
class PurgMagRunAction;
|
||||
class PurgMagDetectorConstruction;
|
||||
class PurgMagAnalysisManager;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagSteppingAction : public G4UserSteppingAction
|
||||
{
|
||||
public:
|
||||
PurgMagSteppingAction(PurgMagRunAction*,PurgMagDetectorConstruction*);
|
||||
~PurgMagSteppingAction();
|
||||
|
||||
void UserSteppingAction(const G4Step*);
|
||||
|
||||
private:
|
||||
PurgMagRunAction* PurgMagRun;
|
||||
PurgMagDetectorConstruction* Detector;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// ********************************************************************
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// ************************************
|
||||
// * *
|
||||
// * PurgMagSteppingVerbose.hh *
|
||||
// * *
|
||||
// ************************************
|
||||
//
|
||||
// $Id: PurgMagSteppingVerbose.hh,v 1.2 2004/06/18 09:17:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
class PurgMagSteppingVerbose;
|
||||
|
||||
#ifndef PurgMagSteppingVerbose_h
|
||||
#define PurgMagSteppingVerbose_h 1
|
||||
|
||||
#include "G4SteppingVerbose.hh"
|
||||
|
||||
class PurgMagSteppingVerbose : public G4SteppingVerbose {
|
||||
|
||||
public:
|
||||
|
||||
//Constructor/Destructor
|
||||
PurgMagSteppingVerbose();
|
||||
~PurgMagSteppingVerbose();
|
||||
|
||||
void StepInfo();
|
||||
void TrackingStarted();
|
||||
|
||||
};
|
||||
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson and J. Generowicz.
|
||||
//
|
||||
// *************************************
|
||||
// * *
|
||||
// * PurgMagTabulatedField3D.hh *
|
||||
// * *
|
||||
// *************************************
|
||||
//
|
||||
// $Id: PurgMagTabulatedField3D.hh,v 1.2 2004/06/18 09:17:52 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
#include <cmath>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class PurgMagTabulatedField3D
|
||||
#ifndef STANDALONE
|
||||
: public G4MagneticField
|
||||
#endif
|
||||
{
|
||||
|
||||
// Storage space for the table
|
||||
vector< vector< vector< double > > > xField;
|
||||
vector< vector< vector< double > > > yField;
|
||||
vector< vector< vector< double > > > zField;
|
||||
// The dimensions of the table
|
||||
int nx,ny,nz;
|
||||
// The physical limits of the defined region
|
||||
double minx, maxx, miny, maxy, minz, maxz;
|
||||
// The physical extent of the defined region
|
||||
double dx, dy, dz;
|
||||
double fZoffset;
|
||||
bool invertX, invertY, invertZ;
|
||||
|
||||
public:
|
||||
PurgMagTabulatedField3D(const char* filename, double zOffset );
|
||||
void GetFieldValue( const double Point[4],
|
||||
double *Bfield ) const;
|
||||
};
|
||||
|
||||
@@ -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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// **********************************
|
||||
// * *
|
||||
// * PurgMagTrackingAction.hh *
|
||||
// * *
|
||||
// **********************************
|
||||
//
|
||||
// $Id: PurgMagTrackingAction.hh,v 1.2 2004/06/18 09:17:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
#ifndef PurgMagTrackingAction_h
|
||||
#define PurgMagTrackingAction_h 1
|
||||
|
||||
#include "G4UserTrackingAction.hh"
|
||||
|
||||
class PurgMagRunAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagTrackingAction : public G4UserTrackingAction
|
||||
{
|
||||
|
||||
public:
|
||||
PurgMagTrackingAction(PurgMagRunAction*);
|
||||
~PurgMagTrackingAction() {};
|
||||
|
||||
void PostUserTrackingAction(const G4Track*);
|
||||
|
||||
private:
|
||||
PurgMagRunAction* PurgMagRun;
|
||||
};
|
||||
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Code developed by:
|
||||
// S.Larsson
|
||||
//
|
||||
// *******************************
|
||||
// * *
|
||||
// * PurgMagVisManager.hh *
|
||||
// * *
|
||||
// *******************************
|
||||
//
|
||||
// $Id: PurgMagVisManager.hh,v 1.2 2004/06/18 09:17:54 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
//
|
||||
|
||||
// Example Visualization Manager implementing virtual function
|
||||
// RegisterGraphicsSystems. Exploits C-pre-processor variables
|
||||
// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if
|
||||
// environment variables of the same name are set.
|
||||
|
||||
// So all you have to do is set environment variables and compile and
|
||||
// instantiate this in your main().
|
||||
|
||||
// Alternatively, you can implement an empty function here and just
|
||||
// register the systems you want in your main(), e.g.:
|
||||
// G4VisManager* myVisManager = new MyVisManager;
|
||||
// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef PurgMagVisManager_h
|
||||
#define PurgMagVisManager_h 1
|
||||
|
||||
#include "G4VisManager.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PurgMagVisManager: public G4VisManager {
|
||||
|
||||
public:
|
||||
|
||||
PurgMagVisManager ();
|
||||
|
||||
private:
|
||||
|
||||
void RegisterGraphicsSystems ();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user