23.11.2011 Kamil Sedlak

Three major changes in the photon simulation:
1) Added timeC1 ... timeC20
2) Added odet_nPhotPrim[odet_n]  (number of primary photons)
3) Added all individual photons:  phot_time[nOptPhotDet]
Documentation has not been updated yet.
This commit is contained in:
2011-11-23 15:35:49 +00:00
parent 4d069f990c
commit 455786e3fd
5 changed files with 326 additions and 78 deletions

View File

@ -79,12 +79,14 @@ class musrRootOutput {
G4double ekVertex, G4double xVertex, G4double yVertex, G4double zVertex,
G4int idVolVertex, G4int idProcVertex, G4int idTrackVertex, G4int particleID) ;
void SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4double timeFirst, G4double timeSecond,
void SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4int nPhotPrim, G4double timeFirst, G4double timeSecond,
G4double timeThird, G4double timeA, G4double timeB, G4double timeC, G4double timeD,
G4double timeMean, G4double timeLast, G4double timeCFD, G4double amplCFD);
void SetCFDSpecialInfo (G4int n, G4double time);
void SetTimeC1SpecialInfo (G4double* time);
void SetSaveDetectorInfo (G4int ID, G4int particleID, G4double ke, G4double x, G4double y, G4double z, G4double time,
G4double px, G4double py, G4double pz, G4double polx, G4double poly, G4double polz) ;
@ -114,6 +116,7 @@ class musrRootOutput {
void SetTimeInM2(G4double time) {muM2Time = time/microsecond;}
void SetInitialPositronMomentum(G4ThreeVector mom) {posIniMomx=mom.x(); posIniMomy=mom.y(); posIniMomz=mom.z();}
void SetNOptPhot(G4int value) {nOptPhot=value;}
void SetPhotDetTime(G4double time);
void SetDecayTime(G4double time) {muDecayTime=time/microsecond;}
void SetNrFieldNomVal(G4int n) {nFieldNomVal = n;}
void SetFieldNomVal(G4int i, G4double value);
@ -179,6 +182,8 @@ class musrRootOutput {
static G4bool store_posIniMomY;
static G4bool store_posIniMomZ;
static G4bool store_nOptPhot;
static G4bool store_nOptPhotDet;
static G4bool store_phot_time;
static G4bool store_det_ID;
static G4bool store_det_edep;
static G4bool store_det_edep_el;
@ -218,6 +223,7 @@ class musrRootOutput {
static G4bool store_fieldIntegralBz3;
static G4bool store_odet_ID;
static G4bool store_odet_nPhot;
static G4bool store_odet_nPhotPrim;
static G4bool store_odet_timeFirst;
static G4bool store_odet_timeSecond;
static G4bool store_odet_timeThird;
@ -230,6 +236,7 @@ class musrRootOutput {
static G4bool store_odet_timeCFD;
static G4bool store_odet_amplCFD;
static G4bool store_odet_timeCFDarray;
static G4bool store_odet_timeC1;
static G4int oldEventNumberInG4EqEMFieldWithSpinFunction;
@ -270,7 +277,9 @@ class musrRootOutput {
Double_t muDecayPosX, muDecayPosY, muDecayPosZ;
Double_t muDecayTime;
Double_t posIniMomx, posIniMomy, posIniMomz;
Int_t nOptPhot;
Int_t nOptPhot, nOptPhotDet;
static const Int_t maxNOptPhotDet=10000;
Double_t phot_time[maxNOptPhotDet];
public:
static const Int_t maxNFieldnNominalValues=30;
@ -329,6 +338,7 @@ class musrRootOutput {
G4int odet_n;
G4int odet_ID[odet_nMax];
G4int odet_nPhot[odet_nMax];
G4int odet_nPhotPrim[odet_nMax];
G4double odet_timeFirst[odet_nMax];
G4double odet_timeSecond[odet_nMax];
G4double odet_timeThird[odet_nMax];
@ -405,6 +415,26 @@ class musrRootOutput {
G4double odet_timeCFD510[odet_nMax];
G4double odet_timeCFD511[odet_nMax];
G4double odet_timeCFD512[odet_nMax];
G4double odet_timeC1[odet_nMax];
G4double odet_timeC2[odet_nMax];
G4double odet_timeC3[odet_nMax];
G4double odet_timeC4[odet_nMax];
G4double odet_timeC5[odet_nMax];
G4double odet_timeC6[odet_nMax];
G4double odet_timeC7[odet_nMax];
G4double odet_timeC8[odet_nMax];
G4double odet_timeC9[odet_nMax];
G4double odet_timeC10[odet_nMax];
G4double odet_timeC11[odet_nMax];
G4double odet_timeC12[odet_nMax];
G4double odet_timeC13[odet_nMax];
G4double odet_timeC14[odet_nMax];
G4double odet_timeC15[odet_nMax];
G4double odet_timeC16[odet_nMax];
G4double odet_timeC17[odet_nMax];
G4double odet_timeC18[odet_nMax];
G4double odet_timeC19[odet_nMax];
G4double odet_timeC20[odet_nMax];
public:
static const Int_t save_nMax=1000;