Hi Stefano,
check http://root.cern.ch/root/roottalk/roottalk01/0904.html
HTH. Regards. Valeriy
argiro@to.infn.it wrote:
>
>
> hi,
>
> could somebody explain to the ignorants (myself)
> why the interpreted class timer (as in timer3.C below) does what I want
> (prints "Timeout ! "
> every 1 sec),
> while the compiled class timer (as in timer2.C) does not ? (root v3.0)
>
> Thanks
> Stefano
>
> ----------------------------------------------------------
> Stefano Argiro', Ph.D.
> University of Turin, Experimental Physics Department
> and INFN
> via P. Giuria 1
> 10125 Torino
> Italy
>
> tel +39-011-670-7334
> fax +39-011-669-1104
>
> File timer3.C
> -----------------------------------------------------------------
> // interpret it ! .
> // .L timer3.C
> // timer * t = new timer;
> // prints "Timeout !" every second
>
> class timer {
> private:
>
> TTimer *ftim;
>
> public:
>
> timer (){
>
> ftim = new TTimer(1000);
> ftim->Connect("Timeout","timer", this, "TimeOut()");
>
> // gSystem->AddTimer(ftim);
> // ftim->TurnOn();
> ftim->Start();
> }
>
> void TimeOut(){cout << "Timeout !"<<endl;}
>
> };
>
> ------------------------------------------------------------------------
> File timer2.C
> ------------------------------------------------------------------------
>
> #include "TTimer.h"
> #include "TROOT.h"
> #include "TApplication.h"
> #include "TSystem.h"
> #include <iostream.h>
>
> /* Compile with
>
> gcc -I $ROOTSYS/include -L$ROOTSYS/lib -lCore \
> -lCint -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript \
> -lMatrix -lPhysics -lm -ldl -lpthread -rdynamic -lm -ldl -rdynamic
> -lThread\
> -o prova timer2.C
>
> does nothing !
>
> */
>
> class timer {
> private:
>
> TTimer *ftim;
>
> public:
>
> timer (){
>
> ftim = new TTimer(1000);
> ftim->Connect("Timeout","timer", this, "TimeOut()");
>
> // gSystem->AddTimer(ftim);
> // ftim->TurnOn();
> ftim->Start();
> }
>
> void TimeOut(){cout << "Timeout !"<<endl;}
>
> };
>
> int main (int argc, char ** argv ){
>
> TROOT r("p","q");
> TApplication *app = new TApplication("App", &argc, argv,NULL,0);
>
> cout << "creating and starting timer" <<endl;
>
> timer *t = new timer;
>
> gSystem->ProcessEvents();
>
> app->Run();
>
>
> // while (1);
>
> return 1;
> }
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:11 MET