SciFiMatG4_1layer1mm/SciFiSim/include/Parameters.hh

171 lines
3.7 KiB
C++
Raw Permalink Normal View History

2021-12-01 16:25:41 +01:00
// Written by Peter Stromberger
// based on work of Mirco Deckenhoff
#ifndef PARAMETERS_HH_
#define PARAMETERS_HH_ 1
#include "G4Event.hh"
#include "G4Run.hh"
#include "TFile.h"
#include "TH2F.h"
#include "TH1F.h"
#include "TTree.h"
#include "TObject.h"
class Parameters
{
public:
static Parameters* GetInstance()
{
if ( Parameters::singleton == NULL ) Parameters::singleton = new Parameters();
return Parameters::singleton;
}
virtual ~Parameters();
char* ParameterOutputFileName();
G4double RandomSeed();
G4double RandomNumber();
G4double FibreLength();
G4double SemiAxisZ();
G4double SemiAxisY();
G4double ProbabilityOfPhotonLossAtSurface();
G4bool PlaceMirror();
G4double MirrorReflectivity();
G4bool DetectorMaterial();
G4double TriggerX();
G4double TriggerY();
G4double TriggerZ();
G4double TriggerXPos();
G4double TriggerZPos();
char* EmissionSpectrumFileName();
G4int NumberOfEnergies();
G4double* Energy;
G4double* Intensity;
G4int NumberOfInterpolatedPoints();
char* WlsAbsSpectrumFileName();
G4int NumberOfWlsAbsEnergies();
G4double* WlsAbsEnergy;
G4double* WlsAbsLength;
char* WlsEmissionSpectrumFileName();
G4int NumberOfWlsEmissionEnergies();
G4double* WlsEmissionEnergy;
G4double* WlsEmissionIntensity;
G4double ScintillationYield();
G4double ResolutionScale();
G4double DecayTimeFast();
G4double DecayTimeSlow();
G4double YieldRatio();
G4double BirksConstant();
G4double WlsDecayTime();
char* RefractiveIndexVacuum();
char* RefractiveIndexCore();
char* RefractiveIndexClad1();
char* RefractiveIndexClad2();
char* AbsorptionCore();
char* AbsorptionClad1();
char* AbsorptionClad2();
char* AbsorptionFromIrradiationCore();
char* AbsorptionFromIrradiationClad1();
char* AbsorptionFromIrradiationClad2();
char* SectionsFileName();
G4int NumberOfSections();
char* RayleighCore();
char* RayleighClad1();
char* RayleighClad2();
// Conversion factor between wavelength and energy
const static G4double hcPERe;
private:
Parameters();
static Parameters* singleton;
char parameterOutputFileName[50];
G4double randomSeed;
G4double randomNumber;
G4double fibreLength;
G4double semiAxisZ;
G4double semiAxisY;
G4double probabilityOfPhotonLossAtSurface;
G4bool placeMirror;
G4double mirrorReflectivity;
G4bool detectorMaterial;
G4double triggerX;
G4double triggerY;
G4double triggerZ;
G4double triggerXPos;
G4double triggerZPos;
char emissionSpectrumFileName[256];
G4int numberOfEnergies;
// G4double[] energy;
// G4double[] intensity;
G4int numberOfInterpolatedPoints;
char wlsAbsSpectrumFileName[256];
G4int numberOfWlsAbsEnergies;
char wlsEmissionSpectrumFileName[256];
G4int numberOfWlsEmissionEnergies;
G4double scintillationYield;
G4double resolutionScale;
G4double decayTimeFast;
G4double decayTimeSlow;
G4double yieldRatio;
G4double birksConstant;
G4double wlsDecayTime;
char refractiveIndexVacuum[256];
char refractiveIndexCore[256];
char refractiveIndexClad1[256];
char refractiveIndexClad2[256];
char absorptionCore[512];
char absorptionClad1[512];
char absorptionClad2[512];
char absorptionFromIrradiationCore[512];
char absorptionFromIrradiationClad1[512];
char absorptionFromIrradiationClad2[512];
char sectionsFileName[80];
G4int numberOfSections;
char rayleighCore[512];
char rayleighClad1[512];
char rayleighClad2[512];
};
#endif