AutoAdvance Class Reference

List of all members.

Public Member Functions

 AutoAdvance ()
 ~AutoAdvance ()
Bool_t HandleTimer (TTimer *t)
 AutoAdvance ()
 ~AutoAdvance ()
Bool_t HandleTimer (TTimer *t)

Public Attributes

TTimer * fTimer
TTimer * fTimer

Detailed Description

Definition at line 44 of file EVDIoModule.cxx.


Constructor & Destructor Documentation

AutoAdvance::AutoAdvance (  )  [inline]

Definition at line 48 of file EVDIoModule.cxx.

References fTimer.

00048                 : fTimer(0) { 
00049     fTimer = new TTimer;
00050     fTimer->SetObject(this);
00051     fTimer->Start(1000);
00052   }

AutoAdvance::~AutoAdvance (  )  [inline]

Definition at line 53 of file EVDIoModule.cxx.

References fTimer.

00053                  {
00054     fTimer->Stop();
00055     delete fTimer;
00056   }

AutoAdvance::AutoAdvance (  )  [inline]

Definition at line 45 of file ZTIoModule.cxx.

References fTimer.

00045                 : fTimer(0) { 
00046     fTimer = new TTimer;
00047     fTimer->SetObject(this);
00048     fTimer->Start(1000);
00049   }

AutoAdvance::~AutoAdvance (  )  [inline]

Definition at line 50 of file ZTIoModule.cxx.

References fTimer.

00050                  {
00051     fTimer->Stop();
00052     delete fTimer;
00053   }


Member Function Documentation

Bool_t AutoAdvance::HandleTimer ( TTimer *  t  )  [inline]

Definition at line 54 of file ZTIoModule.cxx.

References ZTIoModule::Advance(), IoModule::Close(), ZTIoModule::Instance(), ZTIoModule::IoMod(), ZTIoModule::Reload(), and IoModule::RewindFile().

00054                                 {
00055     t->Stop();
00056 
00057     // Advance to next event. When in auto-advance mode, quit at end of file
00058     FILE* fpp = fopen(".zt-pause-autoadvance","r");
00059     int istat = 1;
00060     if (fpp==0) istat = ZTIoModule::Instance()->Advance();
00061     else        fclose(fpp);
00062 
00063     if (istat == 0) {
00064       // If we reach the end of the file, pause and look for a flag file
00065       // indicating that we should reopen the file and continue
00066       std::cerr << "EOF -- waiting for .zt-reopen-file flag..." << std::endl;
00067       FILE* fp = fopen(".zt-reopen-file","r");
00068       if (fp!=0) {
00069     fclose(fp);
00070     ZTIoModule::Instance()->IoMod().Close();
00071     unlink(".zt-reopen-file");
00072     ZTIoModule::Instance()->IoMod().RewindFile();
00073     ZTIoModule::Instance()->Reload();
00074     std::cerr << "Reopenning file..." << std::endl;
00075       }
00076     }
00077     t->Start(1000);
00078     return true;
00079   };

Bool_t AutoAdvance::HandleTimer ( TTimer *  t  )  [inline]

Definition at line 57 of file EVDIoModule.cxx.

References EVDIoModule::Advance(), IoModule::Close(), EVDIoModule::Instance(), EVDIoModule::IoMod(), EVDIoModule::Reload(), and IoModule::RewindFile().

00057                                 {
00058     t->Stop();
00059 
00060     // Advance to next event. When in auto-advance mode, quit at end of file
00061     FILE* fpp = fopen(".evd-pause-autoadvance","r");
00062     int istat = 1;
00063     if (fpp==0) istat = EVDIoModule::Instance()->Advance();
00064     else        fclose(fpp);
00065 
00066     if (istat == 0) {
00067       // If we reach the end of the file, pause and look for a flag file
00068       // indicating that we should reopen the file and continue
00069       std::cerr << "EOF -- waiting for .evd-reopen-file flag..." << std::endl;
00070       FILE* fp = fopen(".evd-reopen-file","r");
00071       if (fp!=0) {
00072     fclose(fp);
00073     EVDIoModule::Instance()->IoMod().Close();
00074     unlink(".evd-reopen-file");
00075     EVDIoModule::Instance()->IoMod().RewindFile();
00076     EVDIoModule::Instance()->Reload();
00077     std::cerr << "Reopenning file..." << std::endl;
00078       }
00079     }
00080     t->Start(1000);
00081     return true;
00082   };


Member Data Documentation

TTimer* AutoAdvance::fTimer

Definition at line 44 of file ZTIoModule.cxx.

TTimer* AutoAdvance::fTimer

Definition at line 47 of file EVDIoModule.cxx.

Referenced by AutoAdvance(), and ~AutoAdvance().


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 08:03:56 2009 for MIPP(E907) by  doxygen 1.4.7