LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliTimeStamp.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 8 25.0 %
Date: 2016-06-14 17:26:59 Functions: 4 14 28.6 %

          Line data    Source code
       1             : #ifndef ALITIMESTAMP_H
       2             : #define ALITIMESTAMP_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : /* $Id: AliTimeStamp.h 22322 2007-11-22 11:43:14Z cvetan $ */
       8             : 
       9             : ///////////////////////////////////////////////////////////////////////////////
      10             : //
      11             : //  Class to define Event Timestamp from : 
      12             : //
      13             : //               Orbit
      14             : //               Period counter
      15             : //               Seconds    |
      16             : //                  +       | ===> Bunch cross 
      17             : //               Microsecs  | 
      18             : //
      19             : //////////////////////////////////////////////////////////////////////////////
      20             : #include <cmath>
      21             : 
      22             : class TObject;
      23             : 
      24             : class AliTimeStamp : public TObject {
      25             : 
      26             : public:
      27             :                          AliTimeStamp();
      28             :                          AliTimeStamp( UInt_t orbit, UInt_t period, ULong64_t bunchCross );   
      29             :                          AliTimeStamp( UInt_t orbit, UInt_t period, 
      30             :                                        UInt_t seconds, UInt_t microsecs );   
      31         224 :               virtual   ~AliTimeStamp() {}
      32             :                          AliTimeStamp( const AliTimeStamp &timestamp );
      33             :          AliTimeStamp&   operator=(const AliTimeStamp& timestamp);
      34             :               
      35             :       // Getters
      36           0 :                UInt_t    GetOrbit()      const { return fOrbit;     }        
      37           0 :                UInt_t    GetPeriod()     const { return fPeriod;    }       
      38           0 :             ULong64_t    GetBunchCross() const { return fBunchCross; }  
      39           0 :                UInt_t    GetSeconds()    const { return (UInt_t)(fBunchCross/1000000000.*fNanosecPerBC);   }      
      40           0 :                UInt_t    GetMicroSecs()  const { return (UInt_t)(fmod(fBunchCross *fNanosecPerBC, 1000000000.)/1000 ); }     
      41           0 :        virtual Bool_t    IsSortable()    const { return kTRUE; }
      42             :      // Setters
      43             :                  void    SetTimeStamp( UInt_t orbit, UInt_t period, ULong64_t bunchcross );
      44             :                  void    SetTimeStamp( UInt_t orbit, UInt_t period, 
      45             :                                        UInt_t seconds, UInt_t microsecs );
      46             :               
      47             :               
      48             :         virtual Int_t    Compare( const TObject* obj ) const;
      49             :          virtual void    Print( const Option_t* opt ="" ) const;
      50             :                                
      51             :    static const Int_t    fNanosecPerBC;   //! nanosecs per bunch cross
      52             :               
      53             : protected:
      54             :               UInt_t    fOrbit;         // Orbit
      55             :               UInt_t    fPeriod;        // Period counter
      56             :            ULong64_t    fBunchCross;    // Bunch Cross 
      57             : //              UInt_t    fSeconds;       // Seconds 
      58             : //              UInt_t    fMicroSecs;     // Microsecs  
      59             :                          
      60             : private:                         
      61             : 
      62         400 :    ClassDef( AliTimeStamp, 1 )  // Define a timestamp
      63             : };                                                                         
      64             : 
      65             : 
      66             : #endif

Generated by: LCOV version 1.11