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:
@ -114,6 +114,8 @@ G4bool musrRootOutput::store_posIniMomX = true;
|
||||
G4bool musrRootOutput::store_posIniMomY = true;
|
||||
G4bool musrRootOutput::store_posIniMomZ = true;
|
||||
G4bool musrRootOutput::store_nOptPhot = true;
|
||||
G4bool musrRootOutput::store_nOptPhotDet= true;
|
||||
G4bool musrRootOutput::store_phot_time = false;
|
||||
G4bool musrRootOutput::store_det_ID = true;
|
||||
G4bool musrRootOutput::store_det_edep = true;
|
||||
G4bool musrRootOutput::store_det_edep_el = true;
|
||||
@ -153,6 +155,7 @@ G4bool musrRootOutput::store_fieldIntegralBz2 = false;
|
||||
G4bool musrRootOutput::store_fieldIntegralBz3 = false;
|
||||
G4bool musrRootOutput::store_odet_ID = true;
|
||||
G4bool musrRootOutput::store_odet_nPhot = true;
|
||||
G4bool musrRootOutput::store_odet_nPhotPrim = true;
|
||||
G4bool musrRootOutput::store_odet_timeFirst = true;
|
||||
G4bool musrRootOutput::store_odet_timeSecond = true;
|
||||
G4bool musrRootOutput::store_odet_timeThird = true;
|
||||
@ -165,6 +168,7 @@ G4bool musrRootOutput::store_odet_timeLast = true;
|
||||
G4bool musrRootOutput::store_odet_timeCFD = true;
|
||||
G4bool musrRootOutput::store_odet_amplCFD = true;
|
||||
G4bool musrRootOutput::store_odet_timeCFDarray = false;
|
||||
G4bool musrRootOutput::store_odet_timeC1 = false;
|
||||
|
||||
G4int musrRootOutput::oldEventNumberInG4EqEMFieldWithSpinFunction=-1;
|
||||
|
||||
@ -229,6 +233,8 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
if (store_posIniMomY) {rootTree->Branch("posIniMomY",&posIniMomy,"posIniMomY/D");}
|
||||
if (store_posIniMomZ) {rootTree->Branch("posIniMomZ",&posIniMomz,"posIniMomZ/D");}
|
||||
if (store_nOptPhot) {rootTree->Branch("nOptPhot",&nOptPhot,"nOptPhot/I");}
|
||||
if (store_nOptPhotDet) {rootTree->Branch("nOptPhotDet",&nOptPhotDet,"nOptPhotDet/I");}
|
||||
if (store_phot_time) {rootTree->Branch("phot_time",&phot_time,"phot_time[nOptPhotDet]/D");}
|
||||
// if (store_globalTime) {rootTree->Branch("globalTime",&globalTime,"globalTime/D");}
|
||||
// if (store_fieldValue) {rootTree->Branch("fieldValue",&fieldValue,"fieldValue/D");}
|
||||
if (store_fieldNomVal) {
|
||||
@ -291,11 +297,13 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
rootTree->Branch("save_polz",&save_polz,"save_polz[save_n]/D");
|
||||
}
|
||||
|
||||
if (store_odet_ID || store_odet_nPhot || store_odet_timeFirst || store_odet_timeSecond || store_odet_timeThird || store_odet_timeA || store_odet_timeB ||
|
||||
store_odet_timeC || store_odet_timeD || store_odet_timeMean || store_odet_timeLast || store_odet_timeCFD || store_odet_amplCFD)
|
||||
if (store_odet_ID || store_odet_nPhot || store_odet_nPhotPrim || store_odet_timeFirst || store_odet_timeSecond ||
|
||||
store_odet_timeThird || store_odet_timeA || store_odet_timeB || store_odet_timeC || store_odet_timeD ||
|
||||
store_odet_timeMean || store_odet_timeLast || store_odet_timeCFD || store_odet_amplCFD || store_odet_timeC1)
|
||||
{rootTree->Branch("odet_n",&odet_n,"odet_n/I");}
|
||||
if (store_odet_ID) {rootTree->Branch("odet_ID",&odet_ID,"odet_ID[odet_n]/I");}
|
||||
if (store_odet_nPhot) {rootTree->Branch("odet_nPhot",&odet_nPhot,"odet_nPhot[odet_n]/I");}
|
||||
if (store_odet_nPhotPrim) {rootTree->Branch("odet_nPhotPrim",&odet_nPhotPrim,"odet_nPhotPrim[odet_n]/I");}
|
||||
if (store_odet_timeFirst) {rootTree->Branch("odet_timeFirst",&odet_timeFirst,"odet_timeFirst[odet_n]/D");}
|
||||
if (store_odet_timeSecond) {rootTree->Branch("odet_timeSecond",&odet_timeSecond,"odet_timeSecond[odet_n]/D");}
|
||||
if (store_odet_timeThird) {rootTree->Branch("odet_timeThird",&odet_timeThird,"odet_timeThird[odet_n]/D");}
|
||||
@ -374,6 +382,28 @@ void musrRootOutput::BeginOfRunAction() {
|
||||
rootTree->Branch("odet_timeCFD511",&odet_timeCFD511,"odet_timeCFD511[odet_n]/D");
|
||||
rootTree->Branch("odet_timeCFD512",&odet_timeCFD512,"odet_timeCFD512[odet_n]/D");
|
||||
}
|
||||
if (store_odet_timeC1) {
|
||||
rootTree->Branch("odet_timeC1",&odet_timeC1,"odet_timeC1[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC2",&odet_timeC2,"odet_timeC2[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC3",&odet_timeC3,"odet_timeC3[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC4",&odet_timeC4,"odet_timeC4[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC5",&odet_timeC5,"odet_timeC5[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC6",&odet_timeC6,"odet_timeC6[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC7",&odet_timeC7,"odet_timeC7[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC8",&odet_timeC8,"odet_timeC8[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC9",&odet_timeC9,"odet_timeC9[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC10",&odet_timeC10,"odet_timeC10[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC11",&odet_timeC11,"odet_timeC11[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC12",&odet_timeC12,"odet_timeC12[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC13",&odet_timeC13,"odet_timeC13[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC14",&odet_timeC14,"odet_timeC14[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC15",&odet_timeC15,"odet_timeC15[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC16",&odet_timeC16,"odet_timeC16[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC17",&odet_timeC17,"odet_timeC17[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC18",&odet_timeC18,"odet_timeC18[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC19",&odet_timeC19,"odet_timeC19[odet_n]/D");
|
||||
rootTree->Branch("odet_timeC20",&odet_timeC20,"odet_timeC20[odet_n]/D");
|
||||
}
|
||||
|
||||
// htest1 = new TH1F("htest1","The debugging histogram 1",50,-4.,4.);
|
||||
// htest2 = new TH1F("htest2","The debugging histogram 2",50,0.,3.142);
|
||||
@ -455,6 +485,7 @@ void musrRootOutput::ClearAllRootVariables() {
|
||||
muDecayTime=-1000;
|
||||
posIniMomx=-1000;posIniMomy=-1000;posIniMomz=-1000;
|
||||
nOptPhot=0;
|
||||
nOptPhotDet=0;
|
||||
BxIntegral = -1000; ByIntegral = -1000; BzIntegral = -1000;
|
||||
BzIntegral1 = -1000; BzIntegral2 = -1000; BzIntegral3 = -1000;
|
||||
det_n=0;
|
||||
@ -610,7 +641,7 @@ void musrRootOutput::SetDetectorInfoVvv (G4int nDetectors,
|
||||
}
|
||||
|
||||
|
||||
void musrRootOutput::SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4double timeFirst,
|
||||
void musrRootOutput::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)
|
||||
{
|
||||
@ -624,6 +655,7 @@ void musrRootOutput::SetOPSAinfo (G4int nDetectors, G4int ID, G4int nPhot, G4
|
||||
odet_n=nDetectors+1;
|
||||
odet_ID[nDetectors]=ID;
|
||||
odet_nPhot[nDetectors]=nPhot;
|
||||
odet_nPhotPrim[nDetectors]=nPhotPrim;
|
||||
odet_timeFirst[nDetectors]=timeFirst/microsecond;
|
||||
odet_timeSecond[nDetectors]=timeSecond/microsecond;
|
||||
odet_timeThird[nDetectors]=timeThird/microsecond;
|
||||
@ -706,6 +738,32 @@ void musrRootOutput::SetCFDSpecialInfo (G4int n, G4double time) {
|
||||
else if (n==512) {odet_timeCFD512[odet_n-1] = time/microsecond;}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
void musrRootOutput::SetTimeC1SpecialInfo (G4double* time) {
|
||||
odet_timeC1[odet_n-1] = time[1]/microsecond;
|
||||
odet_timeC2[odet_n-1] = time[2]/microsecond;
|
||||
odet_timeC3[odet_n-1] = time[3]/microsecond;
|
||||
odet_timeC4[odet_n-1] = time[4]/microsecond;
|
||||
odet_timeC5[odet_n-1] = time[5]/microsecond;
|
||||
odet_timeC6[odet_n-1] = time[6]/microsecond;
|
||||
odet_timeC7[odet_n-1] = time[7]/microsecond;
|
||||
odet_timeC8[odet_n-1] = time[8]/microsecond;
|
||||
odet_timeC9[odet_n-1] = time[9]/microsecond;
|
||||
odet_timeC10[odet_n-1] = time[10]/microsecond;
|
||||
odet_timeC11[odet_n-1] = time[11]/microsecond;
|
||||
odet_timeC12[odet_n-1] = time[12]/microsecond;
|
||||
odet_timeC13[odet_n-1] = time[13]/microsecond;
|
||||
odet_timeC14[odet_n-1] = time[14]/microsecond;
|
||||
odet_timeC15[odet_n-1] = time[15]/microsecond;
|
||||
odet_timeC16[odet_n-1] = time[16]/microsecond;
|
||||
odet_timeC17[odet_n-1] = time[17]/microsecond;
|
||||
odet_timeC18[odet_n-1] = time[18]/microsecond;
|
||||
odet_timeC19[odet_n-1] = time[19]/microsecond;
|
||||
odet_timeC20[odet_n-1] = time[20]/microsecond;
|
||||
// std::cout<<"odet_timeC1["<<odet_n-1<<"]="<<odet_timeC1[odet_n-1]<<std::endl;
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
void musrRootOutput::setRootOutputDirectoryName(char dirName[1000]) {
|
||||
strcpy(rootOutputDirectoryName,dirName);
|
||||
@ -713,3 +771,17 @@ void musrRootOutput::setRootOutputDirectoryName(char dirName[1000]) {
|
||||
sprintf(message,"musrRootOutput.cc::setRootOutputDirectoryName: Root output file will be stored in directory %s",dirName);
|
||||
musrErrorMessage::GetInstance()->musrError(INFO,message,false);
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
void musrRootOutput::SetPhotDetTime(G4double time) {
|
||||
if (nOptPhotDet<maxNOptPhotDet) {
|
||||
phot_time[nOptPhotDet] = time;
|
||||
nOptPhotDet++;
|
||||
}
|
||||
else {
|
||||
char message[200];
|
||||
sprintf(message,"musrRootOutput.cc::SetPhotDetTime: number of individual photons larger than maxNOptPhotDet (=%d)",maxNOptPhotDet);
|
||||
musrErrorMessage::GetInstance()->musrError(WARNING,message,false);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user