Import Geant4 7.0.0 source tree
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoGeometry.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 22 Aug 2003 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoGeometry_hh
|
||||
#define XrayFluoGeometry_hh 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class XrayFluoVDetectorType;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoGeometry: public G4VUserDetectorConstruction
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
~XrayFluoGeometry();
|
||||
|
||||
virtual G4VPhysicalVolume* Construct()=0;
|
||||
|
||||
virtual void UpdateGeometry()=0;
|
||||
|
||||
|
||||
virtual void SetSampleMaterial(G4String)=0;
|
||||
|
||||
virtual void SetDetectorType(G4String)=0;
|
||||
|
||||
//virtual static XrayFluoDetectorConstruction* GetInstance();
|
||||
|
||||
virtual void PrintApparateParameters()=0;
|
||||
|
||||
virtual XrayFluoVDetectorType* GetDetectorType()=0;
|
||||
|
||||
|
||||
virtual G4double GetWorldSizeZ()=0;
|
||||
virtual G4double GetWorldSizeXY()=0;
|
||||
|
||||
virtual G4Material* GetSampleMaterial()=0;
|
||||
|
||||
protected:
|
||||
|
||||
XrayFluoGeometry();
|
||||
|
||||
|
||||
// private:
|
||||
|
||||
// virtual void DefineDefaultMaterials()=0;
|
||||
// virtual G4VPhysicalVolume* ConstructApparate()=0;
|
||||
|
||||
// //calculates some quantities used to construct geometry
|
||||
// virtual void ComputeApparateParameters()=0;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoHPGeDetectorType.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 16 Jul 2003 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoHPGeDetectorType_hh
|
||||
#define XrayFluoHPGeDetectorType_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include <map>
|
||||
#include "G4DataVector.hh"
|
||||
#include "XrayFluoDataSet.hh"
|
||||
#include "XrayFluoVDetectorType.hh"
|
||||
|
||||
//class XrayFluoDataSet;
|
||||
//class G4DataVector;
|
||||
|
||||
class XrayFluoHPGeDetectorType : public XrayFluoVDetectorType
|
||||
{
|
||||
public:
|
||||
|
||||
~XrayFluoHPGeDetectorType();
|
||||
|
||||
//returns an unique instance of this class (singleton)
|
||||
static XrayFluoHPGeDetectorType* GetInstance();
|
||||
|
||||
//gives the material (a string) of wich is made the detector
|
||||
G4String GetDetectorMaterial();
|
||||
|
||||
// Given the energy depositon in the detector, returns the measured value,
|
||||
// according the energy definition power of the detector
|
||||
G4double ResponseFunction(G4double);
|
||||
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just lower of the energy deposited
|
||||
G4double GetInfData(G4double,G4double,G4int);
|
||||
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just higher of the energy deposited
|
||||
G4double GetSupData(G4double,G4double,G4int);
|
||||
|
||||
//loads the data tabulated for the response and the efficiency data from file
|
||||
void LoadResponseData(G4String);
|
||||
void LoadEfficiencyData(G4String);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
XrayFluoHPGeDetectorType();
|
||||
|
||||
static XrayFluoHPGeDetectorType* instance;
|
||||
|
||||
G4String detectorMaterial;
|
||||
|
||||
//stores the data of the efficience of the detector
|
||||
const XrayFluoDataSet* efficiencySet;
|
||||
|
||||
G4VDataSetAlgorithm* interpolation4;
|
||||
|
||||
//stores the energy data (first column of the file) of the
|
||||
//response function
|
||||
std::map<G4int,G4DataVector*,std::less<G4int> > energyMap;
|
||||
|
||||
//stores the values (second column of the file) of the
|
||||
//response function
|
||||
std::map<G4int,G4DataVector*,std::less<G4int> > dataMap;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoDetectorConstruction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 20 Aug 2001 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoMaterials_hh
|
||||
#define XrayFluoMaterials_hh 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Material.hh"
|
||||
|
||||
class XrayFluoMaterials
|
||||
{
|
||||
public:
|
||||
|
||||
~XrayFluoMaterials();
|
||||
|
||||
static XrayFluoMaterials* GetInstance();
|
||||
|
||||
G4Material* GetMaterial(G4String);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoMaterials();
|
||||
|
||||
void CreateMaterials();
|
||||
|
||||
private:
|
||||
|
||||
static XrayFluoMaterials* instance;
|
||||
|
||||
G4Material* dolorite;
|
||||
G4Material* FeMaterial;
|
||||
G4Material* Al;
|
||||
G4Material* Si;
|
||||
G4Material* Cu;
|
||||
G4Material* HPGe;
|
||||
G4Material* materialMg;
|
||||
G4Material* materialNd;
|
||||
G4Material* Sn;
|
||||
G4Material* Ti;
|
||||
G4Material* mars1;
|
||||
G4Material* anorthosite;
|
||||
G4Material* Pb;
|
||||
G4Material* basalt;
|
||||
G4Material* Air;
|
||||
G4Material* Sci;
|
||||
G4Material* Vacuum;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,299 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoMercuryDetectorConstruction.hh
|
||||
// GEANT4 tag $Name:XrayFluo-V05-02-06
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
//
|
||||
// 08 Sep 2003 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoMercuryDetectorConstruction_hh
|
||||
#define XrayFluoMercuryDetectorConstruction_hh 1
|
||||
|
||||
#include "XrayFluoSiLiDetectorType.hh"
|
||||
#include "XrayFluoHPGeDetectorType.hh"
|
||||
#include "XrayFluoSD.hh"
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
|
||||
class G4Box;
|
||||
class G4Tubs;
|
||||
class G4Sphere;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class XrayFluoMercuryDetectorMessenger;
|
||||
class XrayFluoMaterials;
|
||||
|
||||
//class XrayFluoSD;
|
||||
//class XrayFluoVDetectorType;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoMercuryDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
~XrayFluoMercuryDetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
void UpdateGeometry();
|
||||
|
||||
|
||||
void SetMercuryMaterial(G4String newMaterial);
|
||||
|
||||
void SetDetectorType(G4String type);
|
||||
|
||||
static XrayFluoMercuryDetectorConstruction* GetInstance();
|
||||
|
||||
inline void SetOribitHeight(G4double size)
|
||||
{distDe = size;};
|
||||
inline void SetLatitude(G4double lat)
|
||||
{ThetaHPGe = 180.* deg - lat;};
|
||||
|
||||
void PrintApparateParameters();
|
||||
|
||||
XrayFluoVDetectorType* GetDetectorType();
|
||||
|
||||
|
||||
G4double GetWorldSizeZ() {return WorldSizeZ;};
|
||||
G4double GetWorldSizeXY() {return WorldSizeXY;};
|
||||
|
||||
G4double GetDeviceThickness() {return DeviceThickness;};
|
||||
G4double GetDeviceSizeX() {return DeviceSizeX;};
|
||||
G4double GetDeviceSizeY() {return DeviceSizeY;};
|
||||
G4double GetPixelSizeXY() {return PixelSizeXY;};
|
||||
G4double GetContactSizeXY() {return ContactSizeXY;};
|
||||
|
||||
G4int GetNbOfPixels() {return NbOfPixels;}; //mandatory for XrayFluoSD
|
||||
G4int GetNbOfPixelRows() {return NbOfPixelRows;};
|
||||
G4int GetNbOfPixelColumns() {return NbOfPixelColumns;};
|
||||
|
||||
G4Material* GetOhmicPosMaterial() {return OhmicPosMaterial;};
|
||||
G4double GetOhmicPosThickness() {return OhmicPosThickness;};
|
||||
|
||||
G4Material* GetOhmicNegMaterial() {return OhmicNegMaterial;};
|
||||
G4double GetOhmicNegThickness() {return OhmicNegThickness;};
|
||||
|
||||
const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;};
|
||||
const G4VPhysicalVolume* GetHPGe() {return physiHPGe;};
|
||||
const G4VPhysicalVolume* GetMercury() {return physiMercury;};
|
||||
|
||||
const G4VPhysicalVolume* GetphysiPixel() {return physiPixel;};
|
||||
const G4VPhysicalVolume* GetOhmicPos() {return physiOhmicPos;};
|
||||
const G4VPhysicalVolume* GetOhmicNeg() {return physiOhmicNeg;};
|
||||
|
||||
const G4VPhysicalVolume* GetOptic() {return physiOptic;};
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoMercuryDetectorConstruction();
|
||||
|
||||
static XrayFluoMercuryDetectorConstruction* instance;
|
||||
|
||||
XrayFluoVDetectorType* detectorType;
|
||||
|
||||
G4bool mercuryGranularity;
|
||||
|
||||
G4double DeviceSizeX;
|
||||
G4double DeviceSizeY;
|
||||
G4double DeviceThickness;
|
||||
|
||||
G4Box* solidWorld; //pointer to the solid World
|
||||
G4LogicalVolume* logicWorld; //pointer to the logical World
|
||||
G4VPhysicalVolume* physiWorld; //pointer to the physical World
|
||||
|
||||
G4Box* solidHPGe; //pointer to the solid Sensor
|
||||
G4LogicalVolume* logicHPGe; //pointer to the logical Sensor
|
||||
G4VPhysicalVolume* physiHPGe; //pointer to the physical Sensor
|
||||
|
||||
G4Box* solidScreen; //pointer to the solid Screen
|
||||
G4LogicalVolume* logicScreen; //pointer to the logical Screen
|
||||
G4VPhysicalVolume* physiScreen; //pointer to the physical Screen
|
||||
|
||||
G4Sphere* solidMercury; //pointer to the solid Mercury
|
||||
G4LogicalVolume* logicMercury; //pointer to the logical Mercury
|
||||
G4VPhysicalVolume* physiMercury; //pointer to the physical Mercury
|
||||
|
||||
// G4Tubs* solidDia1; //pointer to the solid Diaphragm
|
||||
// G4LogicalVolume* logicDia1; //pointer to the logical Diaphragm
|
||||
// G4VPhysicalVolume* physiDia1; //pointer to the physical Diaphragm
|
||||
|
||||
// G4Tubs* solidDia3; //pointer to the solid Diaphragm
|
||||
// G4LogicalVolume* logicDia3; //pointer to the logical Diaphragm
|
||||
// G4VPhysicalVolume* physiDia3; //pointer to the physical Diaphragm
|
||||
|
||||
G4Box* solidOhmicPos;
|
||||
G4LogicalVolume* logicOhmicPos;
|
||||
G4VPhysicalVolume* physiOhmicPos;
|
||||
|
||||
G4Box* solidOhmicNeg;
|
||||
G4LogicalVolume* logicOhmicNeg;
|
||||
G4VPhysicalVolume* physiOhmicNeg;
|
||||
|
||||
G4Box* solidPixel;
|
||||
G4LogicalVolume* logicPixel;
|
||||
G4VPhysicalVolume* physiPixel;
|
||||
|
||||
G4Tubs* solidOptic;
|
||||
G4LogicalVolume* logicOptic;
|
||||
G4VPhysicalVolume* physiOptic;
|
||||
|
||||
G4Sphere* solidGrain;
|
||||
G4LogicalVolume* logicGrain;
|
||||
G4VPhysicalVolume* physiGrain;
|
||||
|
||||
//materials management
|
||||
XrayFluoMaterials* materials;
|
||||
|
||||
G4Material* screenMaterial;
|
||||
G4Material* OhmicPosMaterial;
|
||||
G4Material* OhmicNegMaterial;
|
||||
G4Material* pixelMaterial;
|
||||
G4Material* mercuryMaterial;
|
||||
G4Material* opticMaterial;
|
||||
// G4Material* Dia3Material;
|
||||
G4Material* defaultMaterial;
|
||||
|
||||
//apparate parameters
|
||||
|
||||
G4double OhmicPosThickness;
|
||||
G4double OhmicNegThickness;
|
||||
|
||||
G4double opticDia;
|
||||
G4double opticThickness;
|
||||
|
||||
G4double screenSizeXY;
|
||||
G4double screenThickness;
|
||||
|
||||
G4int PixelCopyNb;
|
||||
G4int grainCopyNb;
|
||||
G4int NbOfPixels;
|
||||
G4int NbOfPixelRows;
|
||||
G4int NbOfPixelColumns;
|
||||
G4double PixelThickness;
|
||||
G4double PixelSizeXY;
|
||||
G4double ContactSizeXY;
|
||||
|
||||
G4double opticAperture;
|
||||
|
||||
G4double mercuryDia;
|
||||
G4double sunDia;
|
||||
|
||||
G4double mercurySunDistance;
|
||||
|
||||
G4double grainDia;
|
||||
|
||||
G4double ThetaHPGe;
|
||||
|
||||
G4double distDe;
|
||||
G4double distScreen;
|
||||
G4double distOptic;
|
||||
|
||||
|
||||
G4double PhiHPGe;
|
||||
|
||||
G4RotationMatrix zRotPhiHPGe;
|
||||
|
||||
G4double WorldSizeXY;
|
||||
G4double WorldSizeZ;
|
||||
|
||||
|
||||
XrayFluoMercuryDetectorMessenger* detectorMessenger; //pointer to the Messenger
|
||||
|
||||
XrayFluoSD* HPGeSD; //pointer to the sensitive detector
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
G4Material* GetMercuryMaterial() {return mercuryMaterial;};
|
||||
G4Material* GetPixelMaterial() {return pixelMaterial;};
|
||||
|
||||
G4double GetMercuryDia() {return mercuryDia;};
|
||||
G4double GetSunDia() {return sunDia;};
|
||||
|
||||
//Inclinaton of the orbit respect Mercury respect the equator (latitude)
|
||||
|
||||
G4double GetOrbitInclination() {return 180 * deg - ThetaHPGe;};
|
||||
G4double GetOrbitDistance() {return distDe;};
|
||||
G4double GetOpticAperture() {return opticAperture;};
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void DefineDefaultMaterials();
|
||||
G4VPhysicalVolume* ConstructApparate();
|
||||
|
||||
//calculates some quantities used to construct geometry
|
||||
void ComputeApparateParameters();
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void XrayFluoMercuryDetectorConstruction::ComputeApparateParameters()
|
||||
{
|
||||
// Compute derived parameters of the apparate
|
||||
|
||||
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness;
|
||||
|
||||
///G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
|
||||
|
||||
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
|
||||
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
|
||||
|
||||
screenSizeXY = opticDia;
|
||||
|
||||
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
|
||||
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
|
||||
|
||||
//*********************************************************************
|
||||
//** Astronomical distances reduce by a factor 10^-7 due to G4 Bug **
|
||||
//*********************************************************************
|
||||
|
||||
WorldSizeZ = 2 * mercurySunDistance ;
|
||||
WorldSizeXY = (2 * distDe) + 2000 * km ;
|
||||
//WorldSizeZ = WorldSizeXY;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoMercuryDetectorMessenger.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
//
|
||||
// 18 Aug 2003 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoMercuryDetectorMessenger_h
|
||||
#define XrayFluoMercuryDetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class XrayFluoMercuryDetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoMercuryDetectorMessenger: public G4UImessenger
|
||||
{
|
||||
|
||||
public:
|
||||
XrayFluoMercuryDetectorMessenger(XrayFluoMercuryDetectorConstruction* );
|
||||
~XrayFluoMercuryDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
XrayFluoMercuryDetectorConstruction* Detector;
|
||||
G4UIdirectory* detDir;
|
||||
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
G4UIcmdWithAString* sampleCmd;
|
||||
G4UIcmdWithAString* detectorCmd;
|
||||
//G4UIcmdWithABool* granularityFlagCmd;
|
||||
G4UIcmdWithADoubleAndUnit* latitudeAngleCmd;
|
||||
G4UIcmdWithADoubleAndUnit* orbitHeightCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoMercuryPrimaryGeneratorMessenger.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 19 Sep 03 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoMercuryPrimaryGeneratorMessenger_h
|
||||
#define XrayFluoMercuryPrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
//#include "XrayFluoPlanePrimaryGeneratorAction.hh"
|
||||
|
||||
class XrayFluoMercuryPrimaryGeneratorAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UicmdWithABool;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoMercuryPrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
XrayFluoMercuryPrimaryGeneratorMessenger(XrayFluoMercuryPrimaryGeneratorAction*);
|
||||
~XrayFluoMercuryPrimaryGeneratorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoMercuryPrimaryGeneratorAction* XrayFluoAction;
|
||||
|
||||
// //command to set a random impact point
|
||||
// G4UIcmdWithAString* RndmCmd;
|
||||
|
||||
// //command to choose a plane circular source
|
||||
// G4UIcmdWithAString* RndmVert;
|
||||
|
||||
//command to shoot particles according to certain spectra
|
||||
G4UIcmdWithAString* spectrum;
|
||||
|
||||
//command to shoot particles to all Mercury illuminated surface
|
||||
G4UIcmdWithAbool* globalCmd;
|
||||
};
|
||||
|
||||
#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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPlanePrimaryGeneratorAction.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoMercuryPrimaryGeneratorAction_h
|
||||
#define XrayFluoMercuryPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class XrayFluoMercuryDetectorConstruction;
|
||||
class XrayFluoMercuryPrimaryGeneratorMessenger;
|
||||
class XrayFluoRunAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoMercuryPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoMercuryPrimaryGeneratorAction(XrayFluoMercuryDetectorConstruction*);
|
||||
|
||||
~XrayFluoMercuryPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event*);
|
||||
|
||||
// method to set the global illumination of Mercury surface
|
||||
void SetGlobalFlag (G4bool val) {globalFlag = val;};
|
||||
|
||||
|
||||
//method to set a random impact point on the sample
|
||||
//void SetRndmFlag(G4String val) { rndmFlag = val;}
|
||||
|
||||
//method to choose a circular non-point-like source
|
||||
//void SetRndmVert (G4String val) { beam = val;};
|
||||
|
||||
//set the flag for shooting particles according to certain spectra
|
||||
void SetSpectrum (G4String val) { spectrum = val;};
|
||||
|
||||
//set the flag for shooting particles from an isotropic source
|
||||
//void SetIsoVert (G4String val) { isoVert = val ;};
|
||||
|
||||
private:
|
||||
//pointer a to G4 service class
|
||||
G4ParticleGun* particleGun;
|
||||
|
||||
//pointer to the geometry
|
||||
XrayFluoMercuryDetectorConstruction* XrayFluoDetector;
|
||||
|
||||
//messenger of this class
|
||||
XrayFluoMercuryPrimaryGeneratorMessenger* gunMessenger;
|
||||
XrayFluoRunAction* runManager;
|
||||
|
||||
//flag for setting the global illumination of Mercury surface
|
||||
|
||||
G4bool globalFlag;
|
||||
|
||||
//flag for considering the Sun as a Point-like source
|
||||
//not to be used if spacecraft latitude is near zero
|
||||
//because the spacecraft itself shadowes the planet surface.
|
||||
|
||||
//G4bool pointLikeFlag;
|
||||
|
||||
//flag for a random impact point
|
||||
// G4String rndmFlag;
|
||||
|
||||
//flag for a circular non-point source
|
||||
// G4String beam;
|
||||
|
||||
//flag for shooting particles according to certain spectra
|
||||
G4String spectrum;
|
||||
|
||||
//flag for shooting particles from an isotropic source
|
||||
// G4String isoVert;
|
||||
};
|
||||
|
||||
#endif
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoMercuryPrimaryGeneratorMessenger.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 19 Sep 03 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoMercuryPrimaryGeneratorMessenger_h
|
||||
#define XrayFluoMercuryPrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
//#include "XrayFluoPlanePrimaryGeneratorAction.hh"
|
||||
|
||||
class XrayFluoMercuryPrimaryGeneratorAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithABool;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoMercuryPrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
XrayFluoMercuryPrimaryGeneratorMessenger(XrayFluoMercuryPrimaryGeneratorAction*);
|
||||
~XrayFluoMercuryPrimaryGeneratorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoMercuryPrimaryGeneratorAction* XrayFluoAction;
|
||||
|
||||
// //command to set a random impact point
|
||||
// G4UIcmdWithAString* RndmCmd;
|
||||
|
||||
// //command to choose a plane circular source
|
||||
// G4UIcmdWithAString* RndmVert;
|
||||
|
||||
//command to shoot particles according to certain spectra
|
||||
G4UIcmdWithAString* spectrum;
|
||||
|
||||
//command to shoot particles to all Mercury illuminated surface
|
||||
G4UIcmdWithABool* globalCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,305 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoDetectorConstruction.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
//
|
||||
// 29 Aug 2003 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoPlaneDetectorConstruction_hh
|
||||
#define XrayFluoPlaneDetectorConstruction_hh 1
|
||||
|
||||
#include "XrayFluoSiLiDetectorType.hh"
|
||||
#include "XrayFluoHPGeDetectorType.hh"
|
||||
#include "XrayFluoSD.hh"
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
|
||||
class G4Box;
|
||||
//class G4Tubs;
|
||||
class G4Sphere;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class XrayFluoPlaneDetectorMessenger;
|
||||
class XrayFluoMaterials;
|
||||
|
||||
//class XrayFluoSD;
|
||||
//class XrayFluoVDetectorType;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoPlaneDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
~XrayFluoPlaneDetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
void UpdateGeometry();
|
||||
|
||||
|
||||
void SetPlaneMaterial(G4String newMaterial);
|
||||
|
||||
void SetDetectorType(G4String type);
|
||||
|
||||
static XrayFluoPlaneDetectorConstruction* GetInstance();
|
||||
|
||||
inline void SetPlaneGranularity(G4bool granularity)
|
||||
{planeGranularity = granularity;};
|
||||
|
||||
inline void SetGrainDia(G4double size)
|
||||
{grainDia = size;};
|
||||
|
||||
void DeleteGrainObjects();
|
||||
|
||||
public:
|
||||
|
||||
void PrintApparateParameters();
|
||||
|
||||
XrayFluoVDetectorType* GetDetectorType();
|
||||
|
||||
|
||||
G4double GetWorldSizeZ() {return WorldSizeZ;};
|
||||
G4double GetWorldSizeXY() {return WorldSizeXY;};
|
||||
|
||||
G4double GetDeviceThickness() {return DeviceThickness;};
|
||||
G4double GetDeviceSizeX() {return DeviceSizeX;};
|
||||
G4double GetDeviceSizeY() {return DeviceSizeY;};
|
||||
G4double GetPixelSizeXY() {return PixelSizeXY;};
|
||||
G4double GetContactSizeXY() {return ContactSizeXY;};
|
||||
|
||||
G4int GetNbOfPixels() {return NbOfPixels;}; //mandatory for XrayFluoSD
|
||||
G4int GetNbOfPixelRows() {return NbOfPixelRows;};
|
||||
G4int GetNbOfPixelColumns() {return NbOfPixelColumns;};
|
||||
|
||||
G4Material* GetOhmicPosMaterial() {return OhmicPosMaterial;};
|
||||
G4double GetOhmicPosThickness() {return OhmicPosThickness;};
|
||||
|
||||
G4Material* GetOhmicNegMaterial() {return OhmicNegMaterial;};
|
||||
G4double GetOhmicNegThickness() {return OhmicNegThickness;};
|
||||
|
||||
const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;};
|
||||
const G4VPhysicalVolume* GetHPGe() {return physiHPGe;};
|
||||
const G4VPhysicalVolume* GetPlane() {return physiPlane;};
|
||||
// const G4VPhysicalVolume* GetDia1() {return physiDia1;};
|
||||
// const G4VPhysicalVolume* GetDia3() {return physiDia3;};
|
||||
|
||||
const G4VPhysicalVolume* GetphysiPixel() {return physiPixel;};
|
||||
const G4VPhysicalVolume* GetOhmicPos() {return physiOhmicPos;};
|
||||
const G4VPhysicalVolume* GetOhmicNeg() {return physiOhmicNeg;};
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoPlaneDetectorConstruction();
|
||||
|
||||
static XrayFluoPlaneDetectorConstruction* instance;
|
||||
|
||||
XrayFluoVDetectorType* detectorType;
|
||||
|
||||
G4bool planeGranularity;
|
||||
|
||||
G4double DeviceSizeX;
|
||||
G4double DeviceSizeY;
|
||||
G4double DeviceThickness;
|
||||
|
||||
G4Box* solidWorld; //pointer to the solid World
|
||||
G4LogicalVolume* logicWorld; //pointer to the logical World
|
||||
G4VPhysicalVolume* physiWorld; //pointer to the physical World
|
||||
|
||||
G4Box* solidHPGe; //pointer to the solid Sensor
|
||||
G4LogicalVolume* logicHPGe; //pointer to the logical Sensor
|
||||
G4VPhysicalVolume* physiHPGe; //pointer to the physical Sensor
|
||||
|
||||
G4Box* solidScreen; //pointer to the solid Screen
|
||||
G4LogicalVolume* logicScreen; //pointer to the logical Screen
|
||||
G4VPhysicalVolume* physiScreen; //pointer to the physical Screen
|
||||
|
||||
G4Box* solidPlane; //pointer to the solid Plane
|
||||
G4LogicalVolume* logicPlane; //pointer to the logical Plane
|
||||
G4VPhysicalVolume* physiPlane; //pointer to the physical Plane
|
||||
|
||||
// G4Tubs* solidDia1; //pointer to the solid Diaphragm
|
||||
// G4LogicalVolume* logicDia1; //pointer to the logical Diaphragm
|
||||
// G4VPhysicalVolume* physiDia1; //pointer to the physical Diaphragm
|
||||
|
||||
// G4Tubs* solidDia3; //pointer to the solid Diaphragm
|
||||
// G4LogicalVolume* logicDia3; //pointer to the logical Diaphragm
|
||||
// G4VPhysicalVolume* physiDia3; //pointer to the physical Diaphragm
|
||||
|
||||
G4Box* solidOhmicPos;
|
||||
G4LogicalVolume* logicOhmicPos;
|
||||
G4VPhysicalVolume* physiOhmicPos;
|
||||
|
||||
G4Box* solidOhmicNeg;
|
||||
G4LogicalVolume* logicOhmicNeg;
|
||||
G4VPhysicalVolume* physiOhmicNeg;
|
||||
|
||||
G4Box* solidPixel;
|
||||
G4LogicalVolume* logicPixel;
|
||||
G4VPhysicalVolume* physiPixel;
|
||||
|
||||
G4Sphere* solidGrain;
|
||||
G4LogicalVolume* logicGrain;
|
||||
G4VPhysicalVolume* physiGrain;
|
||||
|
||||
//materials management
|
||||
XrayFluoMaterials* materials;
|
||||
|
||||
G4Material* screenMaterial;
|
||||
G4Material* OhmicPosMaterial;
|
||||
G4Material* OhmicNegMaterial;
|
||||
G4Material* pixelMaterial;
|
||||
G4Material* planeMaterial;
|
||||
// G4Material* Dia1Material;
|
||||
// G4Material* Dia3Material;
|
||||
G4Material* defaultMaterial;
|
||||
|
||||
//apparate parameters
|
||||
|
||||
G4double OhmicPosThickness;
|
||||
G4double OhmicNegThickness;
|
||||
|
||||
G4double screenSizeXY;
|
||||
G4double screenThickness;
|
||||
|
||||
G4int PixelCopyNb;
|
||||
G4int grainCopyNb;
|
||||
G4int NbOfPixels;
|
||||
G4int NbOfPixelRows;
|
||||
G4int NbOfPixelColumns;
|
||||
G4double PixelThickness;
|
||||
G4double PixelSizeXY;
|
||||
G4double ContactSizeXY;
|
||||
|
||||
G4double planeThickness;
|
||||
G4double planeSizeXY;
|
||||
G4double grainDia;
|
||||
// G4double Dia1Thickness;
|
||||
// G4double Dia1SizeXY;
|
||||
// G4double Dia3Thickness;
|
||||
// G4double Dia3SizeXY;
|
||||
// G4double DiaInnerSize;
|
||||
// G4double Dia3InnerSize;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
G4Material* GetPlaneMaterial() {return planeMaterial;};
|
||||
G4Material* GetPixelMaterial() {return pixelMaterial;};
|
||||
// G4Material* GetDia1Material() {return Dia1Material;};
|
||||
// G4Material* GetDia3Material() {return Dia3Material;};
|
||||
|
||||
G4double GetPlaneThickness() {return planeThickness;};
|
||||
G4double GetPlaneSizeXY() {return planeSizeXY;};
|
||||
|
||||
// G4double GetDia1Thickness() {return Dia1Thickness;};
|
||||
// G4double GetDia1SizeXY() {return Dia1SizeXY;};
|
||||
|
||||
// G4double GetDia3Thickness() {return Dia3Thickness;};
|
||||
// G4double GetDia3SizeXY() {return Dia3SizeXY;};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
G4double ThetaHPGe;
|
||||
G4double ThetaDia1;
|
||||
G4double ThetaDia3;
|
||||
|
||||
G4double DistDe;
|
||||
G4double distScreen;
|
||||
|
||||
// G4double DistDia;
|
||||
// G4double Dia3Dist;
|
||||
G4double PhiHPGe;
|
||||
// G4double PhiDia1;
|
||||
// G4double PhiDia3;
|
||||
// G4double AlphaDia1;
|
||||
// G4double AlphaDia3;
|
||||
|
||||
|
||||
G4RotationMatrix zRotPhiHPGe;
|
||||
// G4RotationMatrix zRotPhiDia1;
|
||||
// G4RotationMatrix zRotPhiDia3;
|
||||
G4double WorldSizeXY;
|
||||
G4double WorldSizeZ;
|
||||
|
||||
|
||||
XrayFluoPlaneDetectorMessenger* detectorMessenger; //pointer to the Messenger
|
||||
|
||||
XrayFluoSD* HPGeSD; //pointer to the sensitive detector
|
||||
|
||||
private:
|
||||
|
||||
void DefineDefaultMaterials();
|
||||
G4VPhysicalVolume* ConstructApparate();
|
||||
|
||||
//calculates some quantities used to construct geometry
|
||||
void ComputeApparateParameters();
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void XrayFluoPlaneDetectorConstruction::ComputeApparateParameters()
|
||||
{
|
||||
// Compute derived parameters of the apparate
|
||||
|
||||
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness;
|
||||
|
||||
G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
|
||||
|
||||
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
|
||||
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
|
||||
|
||||
screenSizeXY = 2 * DeviceThickness + std::max(DeviceSizeY,DeviceSizeX);
|
||||
|
||||
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
|
||||
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
|
||||
|
||||
WorldSizeZ = (2 * (DistDe + DeviceThickness + screenThickness)) + 5*m;
|
||||
WorldSizeXY = (2 * (planeSizeXY))+ 5*m;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPlaneDetectorMessenger.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
//
|
||||
// 29 Aug 2003 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoPlaneDetectorMessenger_h
|
||||
#define XrayFluoPlaneDetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class XrayFluoPlaneDetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoPlaneDetectorMessenger: public G4UImessenger
|
||||
{
|
||||
|
||||
public:
|
||||
XrayFluoPlaneDetectorMessenger(XrayFluoPlaneDetectorConstruction* );
|
||||
~XrayFluoPlaneDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
XrayFluoPlaneDetectorConstruction* Detector;
|
||||
G4UIdirectory* detDir;
|
||||
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
G4UIcmdWithAString* sampleCmd;
|
||||
G4UIcmdWithAString* detectorCmd;
|
||||
G4UIcmdWithABool* granularityFlagCmd;
|
||||
G4UIcmdWithADoubleAndUnit* grainDiaCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPlanePrimaryGeneratorAction.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoPlanePrimaryGeneratorAction_h
|
||||
#define XrayFluoPlanePrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class XrayFluoPlaneDetectorConstruction;
|
||||
class XrayFluoPlanePrimaryGeneratorMessenger;
|
||||
class XrayFluoRunAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoPlanePrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoPlanePrimaryGeneratorAction(XrayFluoPlaneDetectorConstruction*);
|
||||
|
||||
~XrayFluoPlanePrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event*);
|
||||
|
||||
//method to set a random impact point on the sample
|
||||
void SetRndmFlag(G4String val) { rndmFlag = val;}
|
||||
|
||||
//method to choose a circular non-point source
|
||||
void SetRndmVert (G4String val) { beam = val;}
|
||||
|
||||
//set the flag for shooting particles according to certain spectra
|
||||
void SetSpectrum (G4String val) { spectrum= val ;}
|
||||
|
||||
//set the flag for shooting particles from an isotropic source
|
||||
void SetIsoVert (G4String val) { isoVert = val ;}
|
||||
|
||||
private:
|
||||
//pointer a to G4 service class
|
||||
G4ParticleGun* particleGun;
|
||||
|
||||
//pointer to the geometry
|
||||
XrayFluoPlaneDetectorConstruction* XrayFluoDetector;
|
||||
|
||||
//messenger of this class
|
||||
XrayFluoPlanePrimaryGeneratorMessenger* gunMessenger;
|
||||
XrayFluoRunAction* runManager;
|
||||
|
||||
//flag for a random impact point
|
||||
G4String rndmFlag;
|
||||
|
||||
//flag for a circular non-point source
|
||||
G4String beam;
|
||||
|
||||
//flag for shooting particles according to certain spectra
|
||||
G4String spectrum;
|
||||
|
||||
//flag for shooting particles from an isotropic source
|
||||
G4String isoVert;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPlanePrimaryGeneratorMessenger.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 02 Sep 03 Alfonso Mantero created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef XrayFluoPlanePrimaryGeneratorMessenger_h
|
||||
#define XrayFluoPlanePrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
//#include "XrayFluoPlanePrimaryGeneratorAction.hh"
|
||||
|
||||
class XrayFluoPlanePrimaryGeneratorAction;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoPlanePrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
XrayFluoPlanePrimaryGeneratorMessenger(XrayFluoPlanePrimaryGeneratorAction*);
|
||||
~XrayFluoPlanePrimaryGeneratorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoPlanePrimaryGeneratorAction* XrayFluoAction;
|
||||
|
||||
//command to set a random impact point
|
||||
G4UIcmdWithAString* RndmCmd;
|
||||
|
||||
//command to choose a plane circular source
|
||||
G4UIcmdWithAString* RndmVert;
|
||||
|
||||
//command to shot particles according to certain spectra
|
||||
G4UIcmdWithAString* spectrum;
|
||||
|
||||
//command to shot particles from an isotropic source
|
||||
G4UIcmdWithAString* isoVert;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoSD.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoSD_hh
|
||||
#define XrayFluoSD_hh 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
#include "globals.hh"
|
||||
//#include "XrayFluoDetectorConstruction.hh"
|
||||
//#include "XrayFluoPlaneDetectorConstruction.hh"
|
||||
//#include "XrayFluoMercuryDetectorConstruction.hh"
|
||||
#include "XrayFluoSensorHit.hh"
|
||||
|
||||
class XrayFluoDetectorConstruction;
|
||||
class XrayFluoPlaneDetectorConstruction;
|
||||
class XrayFluoMercuryDetectorConstruction;
|
||||
class G4HCofThisEvent;
|
||||
class G4Step;
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoSD(G4String, XrayFluoDetectorConstruction* );
|
||||
XrayFluoSD(G4String, XrayFluoPlaneDetectorConstruction* );
|
||||
XrayFluoSD(G4String, XrayFluoMercuryDetectorConstruction* );
|
||||
~XrayFluoSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
void EndOfEvent(G4HCofThisEvent*);
|
||||
void clear();
|
||||
void DrawAll();
|
||||
void PrintAll();
|
||||
|
||||
protected:
|
||||
|
||||
G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
private:
|
||||
|
||||
//hit collection for the detector
|
||||
XrayFluoSensorHitsCollection* HPGeCollection;
|
||||
XrayFluoDetectorConstruction* Detector;
|
||||
XrayFluoPlaneDetectorConstruction* planeDetector;
|
||||
XrayFluoMercuryDetectorConstruction* mercuryDetector;
|
||||
|
||||
G4int* HitHPGeID;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoSiLidetectorType.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 19 Jun 2003 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoSiLidetectorType_hh
|
||||
#define XrayFluoSiLidetectorType_hh 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include <map>
|
||||
#include "G4DataVector.hh"
|
||||
#include "XrayFluoDataSet.hh"
|
||||
#include "XrayFluoVDetectorType.hh"
|
||||
|
||||
//class XrayFluoDataSet;
|
||||
//class G4DataVector;
|
||||
|
||||
class XrayFluoSiLiDetectorType : public XrayFluoVDetectorType
|
||||
{
|
||||
public:
|
||||
|
||||
~XrayFluoSiLiDetectorType();
|
||||
|
||||
//returns an unique instance of this class (singleton)
|
||||
static XrayFluoSiLiDetectorType* GetInstance();
|
||||
|
||||
//gives the material (a string) of wich is made the detector
|
||||
G4String GetDetectorMaterial();
|
||||
|
||||
// Given the energy depositon in the detector, returns the measured value,
|
||||
// according the energy definition power of the detector
|
||||
G4double ResponseFunction(G4double);
|
||||
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just lower of the energy deposited
|
||||
G4double GetInfData(G4double,G4double,G4int);
|
||||
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just higher of the energy deposited
|
||||
G4double GetSupData(G4double,G4double,G4int);
|
||||
|
||||
//loads the data tabulated for the response and the efficiency data from file
|
||||
void LoadResponseData(G4String);
|
||||
void LoadEfficiencyData(G4String);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
XrayFluoSiLiDetectorType();
|
||||
|
||||
static XrayFluoSiLiDetectorType* instance;
|
||||
|
||||
G4String detectorMaterial;
|
||||
|
||||
//stores the data of the efficience of the detector
|
||||
const XrayFluoDataSet* efficiencySet;
|
||||
|
||||
G4VDataSetAlgorithm* interpolation4;
|
||||
|
||||
//stores the energy data (first column of the file) of the
|
||||
//response function
|
||||
std::map<G4int,G4DataVector*,std::less<G4int> > energyMap;
|
||||
|
||||
//stores the values (second column of the file) of the
|
||||
//response function
|
||||
std::map<G4int,G4DataVector*,std::less<G4int> > dataMap;
|
||||
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluo.cc
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Alfonso Mantero (alfonso.mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 24 8 2002 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class XrayFluoSimulation{
|
||||
|
||||
public:
|
||||
|
||||
XrayFluoSimulation(G4int seed);
|
||||
|
||||
~XrayFluoSimulation();
|
||||
|
||||
void RunSimulation(int argc,char** argv);
|
||||
|
||||
private:
|
||||
|
||||
G4int dir;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoVdetectorType.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 19 Jun 2003 Alfonso Mantero Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoVDetectorType_hh
|
||||
#define XrayFluoVDetectorType_hh 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class XrayFluoVDetectorType
|
||||
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~XrayFluoVDetectorType();
|
||||
virtual G4String GetDetectorMaterial()=0;
|
||||
virtual G4double ResponseFunction(G4double)=0;
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just lower of the energy deposited. the third integer not always is used.
|
||||
//when it used, user must specify it, otherwise, he gets a runtime error.
|
||||
virtual G4double GetInfData(G4double,G4double,G4int=0)=0;
|
||||
//returns a random value of the energy measured according to the tabulated
|
||||
//peack just upper of the energy deposited. the third integer not always is used.
|
||||
//when it used, user must specify it, otherwise, he gets a runtime error.
|
||||
virtual G4double GetSupData(G4double,G4double,G4int=0)=0;
|
||||
virtual void LoadResponseData(G4String)=0;
|
||||
virtual void LoadEfficiencyData(G4String)=0;
|
||||
|
||||
protected:
|
||||
|
||||
XrayFluoVDetectorType();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user