Print

Print


Dear all,

Sorry I forgot one important issue in my example code in the last mail:
If we set random generator to RandomGen, the destructor of RandomGen should not delete the copied pointer.
We need owner flag inside RandomGen.

I also have another minor request : inside destructor in some classes, there are cout calls and we can't make them silence.
Would it be under control of logging system, or make silence mode as default?
I don't know where should I send these requests, if this ML is not appropriate please let me know.

Thank you,
Kotoyo 


On Mar 4, 2013, at 11:47 AM, Kotoyo Hoshina <[log in to unmask]> wrote:

> 
> Dear all,
> 
> Thank you very much for answering my recent question, I finally got consistent result with my simulation and Genie output!
> Today I have another issue about Random Generator.
> 
> Currently GENIE is using TRandom3, but for our project we need to use our own random generator for several reasons (to control seed, consistency between other modules, parallel computing, etc).
> 
> Is it possible to change RandomGen class to just a interface (wrapper) class, so that users can write their own random generator class?
> Or even giving an option to RandomGen, for example, accepting user class inherited from TRandom3 would works for short term.
> 
> Here is the example :
> 
> class MyRandGen : public TRandom3 {…}
> 
> class RandomGen  {
> 
> public 
>     void SetRandomGen(TRandom3 * random_ptr) { fRandom3 = random_ptr; }
> 
> }
> 
> void main() {
> 
>     MyRandGen * my_rand = new MyRandGen();
>     RandomGen *rnd = RandomGen::Instance();
>     rnd->SetRandomGen(my_rand);
> 
>     double random = rnd->RndGen()->Rndm();
>     ….
> 
> }
> 
> If developers accept the idea, it would be nice if you could implement it to trunk in short term.
> 
> Thank you very much!
> 
> Kotoyo 
> 
> ---------------------------------------------------------
> Kotoyo Hoshina
> IceCube Assistant Scientist
> Office : IceCube, 222 West Washington, Suite500, Madison, WI, 53703-2775 USA
> Tel      : +1-(608) 890-0532
> Mail    : [log in to unmask]
> 
> 
> 
>