|Message: Re: /random/setSeeds question||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
thanks for the additional information. The thread in the hypernews you post actually inspired me some years ago to use the /random/setSeeds x y command. Back then, it worked for me (and I verified that the code I created back then still does give different results for different seeds, using geant4.9).
I also see that in source//run/src/G4RunMessenger.cc, the values given to the /random/setSeeds command are put into a seeds array and are passed to CLHEP::HepRandom::setTheSeeds(seeds). So this looks ok.
However, in the meantime I tried to use the /random/setSeeds command with the examples/extended/optical/OpNovice-code (following a proposal by P. Gumplinger), and it looks like I get identical output also in this case. I tried it both on our cluster and on my MacBook.
Of course, setting the seeds in the runaction class is a valid option, however, I think it should work also from the macro-commands.
On Tue, 15 Jul 2014 06:29:34 GMT, C Mos wrote:
> I have had some issues along the same lines before, specifically > defining the random seeds so to be able to run parallel jobs (read as > "same job in different computers, no MPI") and merging results at the > end of the session. > > I do not have any experience using these functions in the macro file. > However I do know base on documentation I read regarding the Ranecu > Engine and from my own experience that there are two methods to define > the seeds: > > void setSeed (long index, int dum=0) > void setSeeds (const long *seeds, int index=-1) > > Please refer to the following link for further explanation: > > http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s02.html#sect.GlobClass.HEPRandom > > And this following link brings together some discussion related to this > topic (you may or may not have run into this before): > > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/runmanage/310.html?inline=-1 > > I won't be able to explain the technicalities of these structures as I > have not studied the full documentation to a proper extend. However I > would like to emphasize from my own observations that using setSeeds() > seems to provide the results you are looking for. I do initialization of > my seeds USING hard code in my BeginOfRunAction() method instead of the > main file. This will ensure every time I call the /run/beanOn I get > different results: > > IN MY MAIN FILE: > G4Random::setTheEngine(new CLHEP::RanecuEngine); > > IN RUNACTION CLASS: > long seeds; > systime = time(NULL); > seeds = (long) systime; > seeds = (long) (systime*G4UniformRand()); > G4Random::setTheSeeds(seeds); > > I hope this helps! > > Cheers, > > C Mos >
|Inline Depth:||Outline Depth:||Add message:|