Import Geant4 6.2.0 source tree
This commit is contained in:
@@ -22,45 +22,34 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoAnalysisManager.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 11 Jul 2003 A.Mantero, code cleaning / Plotter-XML addiction
|
||||
// Sep 2002 A.Mantero, AIDA3.0 Migration
|
||||
// 06 Dec 2001 A.Pfeiffer updated for singleton
|
||||
// 30 Nov 2001 Guy Barrand : migrate to AIDA-2.2.
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
// 29 Nov 2002 mgration to AIDA 3.0 (Alfonso.mantero@ge.infn.it)
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PROCESSTESTANALYSIS_HH
|
||||
#define G4PROCESSTESTANALYSIS_HH
|
||||
|
||||
//#ifndef XrayFluoAnalysisManager_h
|
||||
//#define XrayFluoAnalysisManager_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "XrayFluoDataSet.hh"
|
||||
#include "AIDA/IHistogram1D.h"
|
||||
#include "AIDA/IHistogram2D.h"
|
||||
#include "AIDA/AIDA.h" // Headers for AIDA interfaces
|
||||
#include "XrayFluoAnalysisMessenger.hh"
|
||||
|
||||
class G4Step;
|
||||
//class XrayFluoEventAction;
|
||||
|
||||
namespace AIDA {
|
||||
class IAnalysisFactory;
|
||||
class IHistogramFactory;
|
||||
class ITree;
|
||||
class ITupleFactory;
|
||||
class ITuple;
|
||||
};
|
||||
class XrayFluoAnalysisMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoAnalysisManager
|
||||
{
|
||||
public:
|
||||
@@ -83,18 +72,40 @@ public:
|
||||
//method to call to create an instance of this class
|
||||
static XrayFluoAnalysisManager* getInstance();
|
||||
|
||||
//method intended to chenge the name of the hbook output file
|
||||
//method to create hbook or xml file for persistency
|
||||
|
||||
void CreatePersistency(G4String fileName,G4String persistencyType,
|
||||
G4bool readOnly = false, G4bool createNew = true);
|
||||
|
||||
inline void CreatePersistency() {CreatePersistency(outputFileName,persistencyType);}
|
||||
|
||||
//method to chenge the name of the output file
|
||||
void SetOutputFileName(G4String);
|
||||
|
||||
//method to chenge the type of the output file
|
||||
void SetOutputFileType(G4String);
|
||||
|
||||
// method used by the messenger
|
||||
G4bool GetDeletePersistencyFileFlag();
|
||||
|
||||
// methods used by RunManager and EvenManager to visualize partial results
|
||||
// void InitializePlotter();
|
||||
|
||||
// void PlotCurrentResults();
|
||||
|
||||
private:
|
||||
//private constructor in order to create a singleton
|
||||
|
||||
|
||||
XrayFluoAnalysisManager();
|
||||
|
||||
|
||||
G4String outputFileName;
|
||||
|
||||
// G4bool visPlotter;
|
||||
|
||||
G4String persistencyType;
|
||||
|
||||
G4bool deletePersistencyFile;
|
||||
|
||||
//Instance for singleton implementation this is the returned
|
||||
static XrayFluoAnalysisManager* instance;
|
||||
|
||||
//pointer to the analysis messenger
|
||||
@@ -102,13 +113,13 @@ private:
|
||||
|
||||
//XrayFluoEventAction* pEvent;
|
||||
|
||||
// analysis data members
|
||||
|
||||
AIDA::IAnalysisFactory* analysisFactory;
|
||||
AIDA::ITree* tree;
|
||||
|
||||
AIDA::IHistogramFactory *histogramFactory;
|
||||
// ITupleFactory* tupleFactory;
|
||||
|
||||
// ITuple* tuple;
|
||||
AIDA::IHistogramFactory* histogramFactory;
|
||||
// AIDA::IPlotterFactory* plotterFactory;
|
||||
// AIDA::IPlotter* plotter;
|
||||
|
||||
AIDA::IHistogram1D* histo_1;
|
||||
AIDA::IHistogram1D* histo_2;
|
||||
@@ -119,9 +130,9 @@ private:
|
||||
AIDA::IHistogram1D* histo_7;
|
||||
AIDA::IHistogram1D* histo_8;
|
||||
AIDA::IHistogram1D* histo_9;
|
||||
AIDA::IHistogram1D* histo_10;
|
||||
AIDA::IHistogram1D* histo_12;
|
||||
AIDA::IHistogram1D* histo_11;
|
||||
//AIDA::IHistogram1D* histo_10; //
|
||||
//AIDA::IHistogram1D* histo_12; // Created for debuggig purpose
|
||||
//AIDA::IHistogram1D* histo_11; //
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -22,10 +22,9 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoAnalysisMessenger.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// 29 Nov 2002 minor updates (Alfonso.mantero@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
@@ -44,21 +43,22 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
#include "G4UIcmdWithoutParameter.hh"
|
||||
#include "XrayFluoAnalysisManager.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
class XrayFluoAnalysisManager;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
//class G4UIdirectory;
|
||||
//class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
class G4UIcmdWithAString;
|
||||
class XrayFluoAnalysisMessenger: public G4UImessenger
|
||||
|
||||
{
|
||||
public:
|
||||
XrayFluoAnalysisMessenger(XrayFluoAnalysisManager* );
|
||||
XrayFluoAnalysisMessenger(XrayFluoAnalysisManager*);
|
||||
~XrayFluoAnalysisMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
@@ -68,8 +68,9 @@ private:
|
||||
//pointer to XrayFluoAnalysisManager
|
||||
XrayFluoAnalysisManager* xrayFluoAnalysis;
|
||||
G4UIdirectory* XrayFluoAnalysisDir;
|
||||
G4UIcmdWithAString* ouputFileCommand;
|
||||
|
||||
G4UIcmdWithAString* outputFileCommand;
|
||||
G4UIcmdWithAString* outputFileType;
|
||||
G4UIcmdWithoutParameter* persistencyUpdateCommand;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoDataSet.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -62,19 +62,19 @@ public:
|
||||
|
||||
//find the value corresponding to the energy e in the set
|
||||
//identified by id
|
||||
G4double FindValue(G4double e, G4int id = 0) const;
|
||||
G4double FindValue(G4double e, G4int) const;
|
||||
|
||||
virtual const G4VEMDataSet* GetComponent(G4int i) const { i = i ; return 0;}
|
||||
virtual const G4VEMDataSet* GetComponent(G4int) const { return 0;}
|
||||
|
||||
virtual void AddComponent(G4VEMDataSet* dataSet) { G4VEMDataSet* dummy; dummy = dataSet;}
|
||||
virtual void AddComponent(G4VEMDataSet*) { }
|
||||
|
||||
virtual size_t NumberOfComponents() const { return 0; }
|
||||
|
||||
|
||||
void PrintData() const;
|
||||
|
||||
const G4DataVector& GetEnergies(G4int i) const { i = i; return *energies; }
|
||||
const G4DataVector& GetData(G4int i) const { i = i; return *data; }
|
||||
const G4DataVector& GetEnergies(G4int) const { return *energies; }
|
||||
const G4DataVector& GetData(G4int) const { return *data; }
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -22,29 +22,42 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoDetectorConstruction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
// Nov 2002 Alfonso Mantero materials added, Material selection implementation
|
||||
// 16 Jul 2003 Alfonso Mantero Detector type selection added + minor fixes
|
||||
// 21 Aug 2003 Alfonso Mantero Material Management moved to XrayFluoMaterials
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef XrayFluoDetectorConstruction_h
|
||||
#define XrayFluoDetectorConstruction_h 1
|
||||
#ifndef XrayFluoDetectorConstruction_hh
|
||||
#define XrayFluoDetectorConstruction_hh 1
|
||||
|
||||
#include "XrayFluoSiLiDetectorType.hh"
|
||||
#include "XrayFluoHPGeDetectorType.hh"
|
||||
#include "XrayFluoSD.hh"
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
#include "XrayFluoGeometry.hh"
|
||||
|
||||
class G4Box;
|
||||
class G4Tubs;
|
||||
class G4Sphere;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
class XrayFluoDetectorMessenger;
|
||||
class XrayFluoHPGeSD;
|
||||
class XrayFluoMaterials;
|
||||
|
||||
//class XrayFluoSD;
|
||||
//class XrayFluoVDetectorType;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -52,7 +65,7 @@ class XrayFluoDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoDetectorConstruction();
|
||||
|
||||
~XrayFluoDetectorConstruction();
|
||||
|
||||
public:
|
||||
@@ -61,12 +74,28 @@ public:
|
||||
|
||||
void UpdateGeometry();
|
||||
|
||||
|
||||
void SetSampleMaterial(G4String newMaterial);
|
||||
|
||||
void SetDetectorType(G4String type);
|
||||
|
||||
static XrayFluoDetectorConstruction* GetInstance();
|
||||
|
||||
inline void SetSampleGranularity(G4bool granularity)
|
||||
{sampleGranularity = granularity;};
|
||||
|
||||
inline void SetGrainDia(G4double size)
|
||||
{grainDia = size;};
|
||||
|
||||
void DeleteGrainObjects();
|
||||
|
||||
public:
|
||||
|
||||
void PrintApparateParameters();
|
||||
|
||||
|
||||
XrayFluoVDetectorType* GetDetectorType();
|
||||
|
||||
|
||||
G4double GetWorldSizeZ() {return WorldSizeZ;};
|
||||
G4double GetWorldSizeXY() {return WorldSizeXY;};
|
||||
|
||||
@@ -96,9 +125,16 @@ public:
|
||||
const G4VPhysicalVolume* GetOhmicPos() {return physiOhmicPos;};
|
||||
const G4VPhysicalVolume* GetOhmicNeg() {return physiOhmicNeg;};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
XrayFluoDetectorConstruction();
|
||||
|
||||
static XrayFluoDetectorConstruction* instance;
|
||||
|
||||
XrayFluoVDetectorType* detectorType;
|
||||
|
||||
G4bool sampleGranularity;
|
||||
|
||||
G4double DeviceSizeX;
|
||||
G4double DeviceSizeY;
|
||||
G4double DeviceThickness;
|
||||
@@ -135,7 +171,13 @@ private:
|
||||
G4LogicalVolume* logicPixel;
|
||||
G4VPhysicalVolume* physiPixel;
|
||||
|
||||
//pointers to the materials used
|
||||
G4Sphere* solidGrain;
|
||||
G4LogicalVolume* logicGrain;
|
||||
G4VPhysicalVolume* physiGrain;
|
||||
|
||||
//materials management
|
||||
XrayFluoMaterials* materials;
|
||||
|
||||
G4Material* OhmicPosMaterial;
|
||||
G4Material* OhmicNegMaterial;
|
||||
G4Material* pixelMaterial;
|
||||
@@ -143,29 +185,15 @@ private:
|
||||
G4Material* Dia1Material;
|
||||
G4Material* Dia3Material;
|
||||
G4Material* defaultMaterial;
|
||||
|
||||
G4Material* dolorite;
|
||||
G4Material* FeMaterial;
|
||||
G4Material* Al;
|
||||
G4Material* Si;
|
||||
G4Material* Cu;
|
||||
G4Material* matOx;
|
||||
G4Material* HPGe;
|
||||
G4Material* materialMg;
|
||||
G4Material* materialNd;
|
||||
G4Material* Sn;
|
||||
G4Material* Ti;
|
||||
G4Material* U;
|
||||
|
||||
|
||||
|
||||
|
||||
//apparate parameters
|
||||
|
||||
G4double OhmicPosThickness;
|
||||
|
||||
G4double OhmicNegThickness;
|
||||
|
||||
G4int PixelCopyNb;
|
||||
G4int grainCopyNb;
|
||||
G4int NbOfPixels;
|
||||
G4int NbOfPixelRows;
|
||||
G4int NbOfPixelColumns;
|
||||
@@ -185,6 +213,7 @@ private:
|
||||
|
||||
G4double SampleThickness;
|
||||
G4double SampleSizeXY;
|
||||
G4double grainDia;
|
||||
G4double SiSizeXY;
|
||||
G4double Dia1Thickness;
|
||||
G4double Dia1SizeXY;
|
||||
@@ -192,7 +221,7 @@ private:
|
||||
G4double Dia3SizeXY;
|
||||
G4double DiaInnerSize;
|
||||
G4double Dia3InnerSize;
|
||||
G4double DistSi;
|
||||
// G4double DistSi;
|
||||
public:
|
||||
|
||||
|
||||
@@ -232,11 +261,14 @@ private:
|
||||
|
||||
XrayFluoDetectorMessenger* detectorMessenger; //pointer to the Messenger
|
||||
|
||||
XrayFluoHPGeSD* HPGeSD; //pointer to the sensitive detector
|
||||
XrayFluoSD* HPGeSD; //pointer to the sensitive detector
|
||||
|
||||
G4Region* sampleRegion;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
void DefineDefaultMaterials();
|
||||
G4VPhysicalVolume* ConstructApparate();
|
||||
|
||||
//calculates some quantities used to construct geometry
|
||||
@@ -251,9 +283,15 @@ inline void XrayFluoDetectorConstruction::ComputeApparateParameters()
|
||||
// Compute derived parameters of the apparate
|
||||
|
||||
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness;
|
||||
DeviceSizeY =NbOfPixelRows*std::max(ContactSizeXY,PixelSizeXY);
|
||||
DeviceSizeX =NbOfPixelColumns*std::max(ContactSizeXY,PixelSizeXY);
|
||||
|
||||
|
||||
G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
|
||||
|
||||
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
|
||||
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
|
||||
|
||||
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
|
||||
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
|
||||
|
||||
WorldSizeZ = (2 * (DistDe +1.4142 *(std::max(std::max(DeviceThickness,DeviceSizeY), DeviceSizeX))))+5*m;
|
||||
WorldSizeXY = 2 * (DistDe +1.4142 *Dia1SizeXY)+5*m;
|
||||
|
||||
|
||||
@@ -22,14 +22,13 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoDetectorMessenger.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 28 Nov 2001 Elena Guardincerri Created
|
||||
// 29 Nov 2002 change of sample material added (Alfonso.mantero@ge.infn.it)
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
@@ -44,24 +43,29 @@ class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class XrayFluoDetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
XrayFluoDetectorMessenger(XrayFluoDetectorConstruction* );
|
||||
~XrayFluoDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
XrayFluoDetectorConstruction* Detector;
|
||||
G4UIdirectory* detDir;
|
||||
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
G4UIcmdWithAString* sampleCmd;
|
||||
|
||||
public:
|
||||
XrayFluoDetectorMessenger(XrayFluoDetectorConstruction* );
|
||||
~XrayFluoDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
XrayFluoDetectorConstruction* Detector;
|
||||
G4UIdirectory* detDir;
|
||||
|
||||
G4UIcmdWithoutParameter* UpdateCmd;
|
||||
G4UIcmdWithAString* sampleCmd;
|
||||
G4UIcmdWithAString* detectorCmd;
|
||||
G4UIcmdWithABool* granularityFlagCmd;
|
||||
G4UIcmdWithADoubleAndUnit* grainDiaCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoEventAction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -38,6 +38,9 @@
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
#include "XrayFluoDetectorConstruction.hh"
|
||||
#include "XrayFluoPlaneDetectorConstruction.hh"
|
||||
#include "XrayFluoMercuryDetectorConstruction.hh"
|
||||
|
||||
class XrayFluoRunAction;
|
||||
class XrayFluoEventActionMessenger;
|
||||
@@ -49,8 +52,10 @@ class XrayFluoEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoEventAction();
|
||||
|
||||
XrayFluoEventAction(XrayFluoDetectorConstruction*);
|
||||
XrayFluoEventAction(XrayFluoPlaneDetectorConstruction*);
|
||||
XrayFluoEventAction(XrayFluoMercuryDetectorConstruction*);
|
||||
|
||||
virtual ~XrayFluoEventAction();
|
||||
|
||||
public:
|
||||
@@ -75,14 +80,19 @@ private:
|
||||
//the sigma is to be set in the file XrayFluoEventAction.cc
|
||||
G4double RandomCut(G4double);
|
||||
|
||||
|
||||
XrayFluoVDetectorType* detectorType;
|
||||
|
||||
|
||||
|
||||
//XrayFluoRunAction* runManager;
|
||||
|
||||
|
||||
//this method distributes the energy deposit (which must be given as
|
||||
//argument) according to the response function stored in the file
|
||||
//response.dat
|
||||
|
||||
|
||||
XrayFluoRunAction* runManager;
|
||||
//public: G4double ResponseFunction(G4double);
|
||||
|
||||
public: G4double ResponseFunction(G4double);
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoEventActionMessenger.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoNormalization.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPhysicsList.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -37,17 +37,27 @@
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
//#include "XrayFluoPlaneDetectorConstruction.hh"
|
||||
//#include "XrayFluoDetectorConstruction.hh"
|
||||
//#include "XrayFluoMercuryConstruction.hh"
|
||||
|
||||
class XrayFluoPhysicsListMessenger;
|
||||
class G4LowEnergyIonisation;
|
||||
class G4LowEnergyPhotoElectric;
|
||||
class G4LowEnergyBremsstrahlung;
|
||||
class G4eIonisation;
|
||||
class XrayFluoDetectorConstruction;
|
||||
class XrayFluoPlaneDetectorConstruction;
|
||||
class XrayFluoMercuryDetectorConstruction;
|
||||
|
||||
class XrayFluoPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
|
||||
XrayFluoPhysicsList(XrayFluoDetectorConstruction*);
|
||||
XrayFluoPhysicsList(XrayFluoPlaneDetectorConstruction*);
|
||||
XrayFluoPhysicsList(XrayFluoMercuryDetectorConstruction*);
|
||||
|
||||
virtual ~XrayFluoPhysicsList();
|
||||
|
||||
protected:
|
||||
@@ -75,6 +85,11 @@ public:
|
||||
void SetGammaCut(G4double);
|
||||
void SetElectronCut(G4double);
|
||||
|
||||
// void SetGammaLowLimit(G4double);
|
||||
// void SetElectronLowLimit(G4double);
|
||||
|
||||
// void SetGELowLimit(G4double);
|
||||
|
||||
void SetLowEnSecPhotCut(G4double);
|
||||
void SetLowEnSecElecCut(G4double);
|
||||
void SetProtonCut(G4double);
|
||||
@@ -86,12 +101,14 @@ private:
|
||||
G4LowEnergyIonisation* LeIoprocess;
|
||||
G4LowEnergyPhotoElectric* LePeprocess;
|
||||
G4LowEnergyBremsstrahlung* LeBrprocess;
|
||||
// G4eIonisation* eIoProcess; // modified
|
||||
XrayFluoPhysicsListMessenger* physicsListMessenger;
|
||||
G4double cutForGamma;
|
||||
G4double cutForElectron;
|
||||
G4double cutForProton;
|
||||
XrayFluoDetectorConstruction* pDet;
|
||||
|
||||
XrayFluoPlaneDetectorConstruction* planeDet;
|
||||
XrayFluoMercuryDetectorConstruction* mercuryDet;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPhysicsListMessenger.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -61,7 +61,9 @@ private:
|
||||
XrayFluoPhysicsList* XrayFluoList;
|
||||
|
||||
G4UIdirectory* lowEnDir;
|
||||
|
||||
// G4UIcmdWithADoubleAndUnit* cutGLowLimCmd;
|
||||
// G4UIcmdWithADoubleAndUnit* cutELowLimCmd;
|
||||
// G4UIcmdWithADoubleAndUnit* cutGELowLimCmd;
|
||||
G4UIcmdWithADoubleAndUnit* cutSecPhotCmd;
|
||||
G4UIcmdWithADoubleAndUnit* cutSecElecCmd;
|
||||
G4UIcmdWithADoubleAndUnit* cutGCmd;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPrimaryGeneratorAction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -74,16 +74,16 @@ private:
|
||||
//pointer a to G4 service class
|
||||
G4ParticleGun* particleGun;
|
||||
|
||||
//pointer to the geometry
|
||||
//pointer to the geometry
|
||||
XrayFluoDetectorConstruction* XrayFluoDetector;
|
||||
|
||||
|
||||
//messenger of this class
|
||||
XrayFluoPrimaryGeneratorMessenger* gunMessenger;
|
||||
XrayFluoRunAction* runManager;
|
||||
|
||||
//flag for a random impact point
|
||||
|
||||
//flag for a random impact point
|
||||
G4String rndmFlag;
|
||||
|
||||
|
||||
//flag for a circular non-point source
|
||||
G4String beam;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoPrimaryGeneratorMessenger.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoRunAction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -57,7 +57,7 @@ class XrayFluoRunAction : public G4UserRunAction
|
||||
const XrayFluoDataSet* GetSet();
|
||||
const XrayFluoDataSet* GetGammaSet();
|
||||
const XrayFluoDataSet* GetAlphaSet();
|
||||
const XrayFluoDataSet* GetEfficiencySet();
|
||||
// const XrayFluoDataSet* GetEfficiencySet();
|
||||
G4DataVector* GetEnergies();
|
||||
G4DataVector* GetData();
|
||||
|
||||
@@ -73,13 +73,13 @@ class XrayFluoRunAction : public G4UserRunAction
|
||||
//choose from dataMap and energyMap the set of values
|
||||
//corresponding to the calculated integer
|
||||
//returns a value of energy chosen randomly from this set
|
||||
G4double GetInfData(G4double energy, G4double random);
|
||||
// G4double GetInfData(G4double energy, G4double random, G4int posIndex);
|
||||
|
||||
//calulates the minimum integer contained in energy
|
||||
//choose from dataMap and energyMap the set of values
|
||||
//corresponding to the calculated integer
|
||||
//returns a value of energy chosen randomly from this set
|
||||
G4double GetSupData(G4double energy, G4double random);
|
||||
// G4double GetSupData(G4double energy, G4double random, G4int posIndex);
|
||||
|
||||
private:
|
||||
|
||||
@@ -92,7 +92,7 @@ private:
|
||||
const XrayFluoDataSet* dataAlphaSet;
|
||||
|
||||
//stores the data of the efficience of the detector
|
||||
const XrayFluoDataSet* efficiencySet;
|
||||
//const XrayFluoDataSet* efficiencySet;
|
||||
|
||||
//stores the energy data of the proton and alpha spectra
|
||||
G4DataVector* energies;
|
||||
@@ -102,17 +102,18 @@ private:
|
||||
|
||||
//stores the energy data (first column of the file) of the
|
||||
//response function
|
||||
std::map<G4int,G4DataVector*,std::less<G4int> > energyMap;
|
||||
|
||||
//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;
|
||||
//std::map<G4int,G4DataVector*,std::less<G4int> > dataMap;
|
||||
|
||||
//read the data for protons and alpha spectra
|
||||
void ReadData(G4double,G4String);
|
||||
|
||||
//read the data for the response function if the detector
|
||||
void ReadResponse(const G4String& fileName);
|
||||
//void ReadResponse(const G4String& fileName);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoSensorHit.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -55,10 +55,10 @@ public:
|
||||
int operator==(const XrayFluoSensorHit&) const;
|
||||
inline void* operator new(size_t);
|
||||
inline void operator delete(void*);
|
||||
void AddEnergy(G4double de) {EdepTot += de;};
|
||||
inline void AddEnergy(G4double de) {EdepTot += de;};
|
||||
void Draw();
|
||||
void Print();
|
||||
G4double GetEdepTot() { return EdepTot;};
|
||||
inline G4double GetEdepTot() { return EdepTot;};
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoSteppingAction.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -36,8 +36,8 @@
|
||||
#define XrayFluoSteppingAction_h 1
|
||||
#include "globals.hh"
|
||||
#include "G4UserSteppingAction.hh"
|
||||
|
||||
class XrayFluoDetectorConstruction;
|
||||
#include "XrayFluoMercuryDetectorConstruction.hh"
|
||||
//class XrayFluoMercuryDetectorConstruction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -46,11 +46,14 @@ class XrayFluoSteppingAction : public G4UserSteppingAction
|
||||
public:
|
||||
|
||||
XrayFluoSteppingAction();
|
||||
~XrayFluoSteppingAction();
|
||||
~XrayFluoSteppingAction();
|
||||
|
||||
void UserSteppingAction(const G4Step*);
|
||||
void SetMercuryFlag(G4bool val) {mercuryFlag=val;};
|
||||
|
||||
void UserSteppingAction(const G4Step*);
|
||||
private:
|
||||
|
||||
|
||||
G4bool mercuryFlag;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoSteppingVerbose.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: XrayFluoVisManager.hh
|
||||
// GEANT4 tag $Name: xray_fluo-V04-01-03
|
||||
// GEANT4 tag $Name: xray_fluo-V03-02-00
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user