18.2.2011 Kamil Sedlak
1) Correction in rundom nr generator (option 3)
- still there is a bug in the printing of time, for which the
run is running (shown is a large negative number) - should be
fixed.
2) Change in physics list which allows to set rise time in the scintillators
This commit is contained in:
@@ -46,6 +46,7 @@ G4bool musrPrimaryGeneratorAction::setRandomNrSeedAccordingEventNr=0;
|
||||
G4bool musrPrimaryGeneratorAction::setRandomNrSeedFromFile=0;
|
||||
G4bool musrPrimaryGeneratorAction::setRandomNrSeedFromFile_RNDM=0;
|
||||
G4int musrPrimaryGeneratorAction::nRndmEventToSaveSeeds=-2;
|
||||
G4int musrPrimaryGeneratorAction::lastEventID_in_pointerToSeedVector=0;
|
||||
|
||||
std::vector<int> * musrPrimaryGeneratorAction::pointerToSeedVector=NULL;
|
||||
std::vector<int> * musrPrimaryGeneratorAction::GetPointerToSeedVector() {
|
||||
@@ -127,7 +128,7 @@ void musrPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
|
||||
// Set or read the seeds of random number generator
|
||||
boolPrintInfoAboutGeneratedParticles=false;
|
||||
SetOrReadTheRandomNumberSeeds(anEvent->GetEventID());
|
||||
SetOrReadTheRandomNumberSeeds(anEvent);
|
||||
|
||||
// If radioactive source is used, use G4GeneralParticleSource :
|
||||
if (musrParameters::boolG4GeneralParticleSource) {
|
||||
@@ -462,7 +463,8 @@ void musrPrimaryGeneratorAction::SetTurtleInputFileToEventNo(G4int lineNumberOfT
|
||||
}
|
||||
}
|
||||
//===============================================================================
|
||||
void musrPrimaryGeneratorAction::SetOrReadTheRandomNumberSeeds(G4int eventID) {
|
||||
void musrPrimaryGeneratorAction::SetOrReadTheRandomNumberSeeds(G4Event* anEvent) {
|
||||
G4int eventID = anEvent->GetEventID();
|
||||
if (eventID == nRndmEventToSaveSeeds) {
|
||||
G4cout<<"musrPrimaryGeneratorAction::SetOrReadTheRandomNumberSeeds: S A V I N G R A N D O M N O. S E E D S"<<G4endl;
|
||||
G4cout<<" (for even nr. "<<eventID<<")"<<G4endl;
|
||||
@@ -477,13 +479,27 @@ void musrPrimaryGeneratorAction::SetOrReadTheRandomNumberSeeds(G4int eventID) {
|
||||
}
|
||||
}
|
||||
if (setRandomNrSeedFromFile) {
|
||||
// G4cout<<"RandomNrInitialisers.size()="<<RandomNrInitialisers->size()<<G4endl;
|
||||
if (eventID < int(pointerToSeedVector->size())) {
|
||||
G4cout <<"musrEventAction.cc: seed will be set to="<< pointerToSeedVector->at(eventID)<<G4endl;
|
||||
CLHEP::HepRandom::setTheSeed(pointerToSeedVector->at(eventID));
|
||||
CLHEP::RandGauss::setFlag(false);
|
||||
boolPrintInfoAboutGeneratedParticles = true;
|
||||
// // G4cout<<"RandomNrInitialisers.size()="<<RandomNrInitialisers->size()<<G4endl;
|
||||
// if (eventID < int(pointerToSeedVector->size())) {
|
||||
// // if (eventID < lastEventID_in_pointerToSeedVector)
|
||||
// G4cout <<"musrEventAction.cc: seed will be set to="<< pointerToSeedVector->at(eventID)<<G4endl;
|
||||
// anEvent -> SetEventID(pointerToSeedVector->at(eventID));
|
||||
// // CLHEP::HepRandom::setTheSeed(pointerToSeedVector->at(eventID));
|
||||
// CLHEP::HepRandom::setTheSeed(eventID);
|
||||
// CLHEP::RandGauss::setFlag(false);
|
||||
// boolPrintInfoAboutGeneratedParticles = true;
|
||||
// }
|
||||
if (!pointerToSeedVector->empty()) {
|
||||
eventID = pointerToSeedVector->back();
|
||||
pointerToSeedVector->pop_back();
|
||||
anEvent -> SetEventID(eventID);
|
||||
}
|
||||
else {
|
||||
eventID = ++lastEventID_in_pointerToSeedVector;
|
||||
}
|
||||
CLHEP::HepRandom::setTheSeed(eventID);
|
||||
CLHEP::RandGauss::setFlag(false);
|
||||
// G4cout <<"musrPrimaryGeneratorAction.cc: seed will be set to="<< eventID<<G4endl;
|
||||
}
|
||||
else if (setRandomNrSeedAccordingEventNr) {
|
||||
// long seeds[2];
|
||||
|
||||
Reference in New Issue
Block a user