29.3.2011 Kamil Sedlak
1) Small change in optical photon simulation 2) Some other small changes, probably not very important
This commit is contained in:
@ -95,51 +95,65 @@ class musrScintSD : public G4VSensitiveDetector
|
||||
void ProcessOpticalPhoton(G4Step*);
|
||||
void EndOfEvent_OptiacalPhotons();
|
||||
void ReadInPulseShapeArray(const char* filename);
|
||||
G4int FindAPDcellID(G4Step* aStep);
|
||||
void SetAPDcellSizes(G4int nx, G4int ny, G4int nz, G4double half_ax, G4double half_ay, G4double half_az) {
|
||||
APDcellsEffectRequested = true;
|
||||
APDcell_nx = nx; APDcell_ny = ny; APDcell_nz = nz;
|
||||
APDcell_ax = 2*half_ax/ nx; APDcell_ay = 2*half_ay/ ny; APDcell_az = 2*half_az/ nz;
|
||||
}
|
||||
void SetAPDcellsTimeVariationSigma(G4double sigma) {
|
||||
if (sigma!=0) APDcellsTimeVariationRequested = true;
|
||||
APDcellsTimeVariationSigma=sigma;
|
||||
}
|
||||
|
||||
private:
|
||||
static musrScintSD* pointer;
|
||||
musrScintHitsCollection* scintCollection;
|
||||
G4bool myStoreOnlyEventsWithHits;
|
||||
G4int myStoreOnlyEventsWithHitInDetID;
|
||||
G4double mySignalSeparationTime;
|
||||
G4bool myStoreOnlyTheFirstTimeHit;
|
||||
G4bool boolIsVvvInfoRequested;
|
||||
musrRootOutput* myRootOutput;
|
||||
static musrScintSD* pointer;
|
||||
musrScintHitsCollection* scintCollection;
|
||||
G4bool myStoreOnlyEventsWithHits;
|
||||
G4int myStoreOnlyEventsWithHitInDetID;
|
||||
G4double mySignalSeparationTime;
|
||||
G4bool myStoreOnlyTheFirstTimeHit;
|
||||
G4bool boolIsVvvInfoRequested;
|
||||
musrRootOutput* myRootOutput;
|
||||
|
||||
// for optical photon counting
|
||||
typedef std::multimap<G4double,Int_t> optHitDetectorMapType;
|
||||
typedef std::map<Int_t,optHitDetectorMapType*> optHitMapType;
|
||||
optHitMapType optHitMap;
|
||||
// for optical photon signal analysis (OPSA)
|
||||
G4int OPSA_minNrOfDetectedPhotons;
|
||||
G4double OPSA_signalSeparationTime;
|
||||
G4double OPSA_fracA;
|
||||
G4double OPSA_fracB;
|
||||
G4double OPSA_C_threshold;
|
||||
G4double OPSA_D_threshold;
|
||||
typedef std::multimap<G4int,signalInfo*> OPSA_signal_MapType;
|
||||
OPSA_signal_MapType OPSA_signal_Map;
|
||||
// for optical photon counting
|
||||
typedef std::multimap<G4double,Int_t> optHitDetectorMapType;
|
||||
typedef std::map<Int_t,optHitDetectorMapType*> optHitMapType;
|
||||
optHitMapType optHitMap;
|
||||
// for optical photon signal analysis (OPSA)
|
||||
G4int OPSA_minNrOfDetectedPhotons;
|
||||
G4double OPSA_signalSeparationTime;
|
||||
G4double OPSA_fracA;
|
||||
G4double OPSA_fracB;
|
||||
G4double OPSA_C_threshold;
|
||||
G4double OPSA_D_threshold;
|
||||
typedef std::multimap<G4int,signalInfo*> OPSA_signal_MapType;
|
||||
OPSA_signal_MapType OPSA_signal_Map;
|
||||
|
||||
G4bool bool_multimapOfEventIDsForOPSAhistosEXISTS;
|
||||
G4bool bool_StoreThisOPSAhistSUMMED;
|
||||
G4bool bool_StoreThisOPSAhistALL;
|
||||
typedef std::multimap<G4int,G4int> multimapOfEventIDsForOPSAhistos_Type;
|
||||
multimapOfEventIDsForOPSAhistos_Type multimapOfEventIDsForOPSAhistos;
|
||||
TH1D* OPSAhisto;
|
||||
Int_t OPSAhistoNbin;
|
||||
Double_t OPSAhistoMin, OPSAhistoMax, OPSAhistoBinWidth, OPSAhistoBinWidth1000;
|
||||
typedef std::map<std::string,TH1D*> mapOfOPSAsumHistograms_Type;
|
||||
mapOfOPSAsumHistograms_Type mapOfOPSAsumHistograms;
|
||||
mapOfOPSAsumHistograms_Type mapOfOPSAsum0Histograms;
|
||||
TH1D* OPSAhistoSUM;
|
||||
TH1D* OPSAhistoSUM0;
|
||||
TH1D* OPSAshape;
|
||||
G4bool bool_pulseShapeExists;
|
||||
G4int iPSmax;
|
||||
G4double pulseShapeArray[10001];
|
||||
TH1D* OPSA_CFD;
|
||||
G4double OPSA_CFD_a1,OPSA_CFD_delay, OPSA_CFD_timeShiftOffset;
|
||||
|
||||
G4bool bool_multimapOfEventIDsForOPSAhistosEXISTS;
|
||||
G4bool bool_StoreThisOPSAhistSUMMED;
|
||||
G4bool bool_StoreThisOPSAhistALL;
|
||||
typedef std::multimap<G4int,G4int> multimapOfEventIDsForOPSAhistos_Type;
|
||||
multimapOfEventIDsForOPSAhistos_Type multimapOfEventIDsForOPSAhistos;
|
||||
TH1D* OPSAhisto;
|
||||
Int_t OPSAhistoNbin;
|
||||
Double_t OPSAhistoMin, OPSAhistoMax, OPSAhistoBinWidth, OPSAhistoBinWidth1000;
|
||||
typedef std::map<std::string,TH1D*> mapOfOPSAsumHistograms_Type;
|
||||
mapOfOPSAsumHistograms_Type mapOfOPSAsumHistograms;
|
||||
mapOfOPSAsumHistograms_Type mapOfOPSAsum0Histograms;
|
||||
TH1D* OPSAhistoSUM;
|
||||
TH1D* OPSAhistoSUM0;
|
||||
TH1D* OPSAshape;
|
||||
G4bool bool_pulseShapeExists;
|
||||
G4int iPSmax;
|
||||
G4double pulseShapeArray[10001];
|
||||
TH1D* OPSA_CFD;
|
||||
G4double OPSA_CFD_a1,OPSA_CFD_delay, OPSA_CFD_timeShiftOffset;
|
||||
G4bool APDcellsEffectRequested; // simulate effects of finite cell number
|
||||
G4int APDcell_nx, APDcell_ny, APDcell_nz; // number of cells in APD along x, y and z directions
|
||||
G4double APDcell_ax, APDcell_ay, APDcell_az; // dimensions of APD cells
|
||||
G4bool APDcellsTimeVariationRequested; // simmulate effect of detection time variations between differenct cells
|
||||
G4double APDcellsTimeVariationSigma; // sigma of the detection time variations between differenct cells
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
Reference in New Issue
Block a user