]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTimeStamp.h
Introducing event specie in QA (Yves)
[u/mrichter/AliRoot.git] / STEER / AliTimeStamp.h
CommitLineData
d7dd8a54 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
22class TObject;
23
24class AliTimeStamp : public TObject {
25
26public:
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 virtual ~AliTimeStamp() {}
32
33 // Getters
34 UInt_t GetOrbit() const { return fOrbit; }
35 UInt_t GetPeriod() const { return fPeriod; }
36 ULong64_t GetBunchCross() const { return fBunchCross; }
37 UInt_t GetSeconds() const { return (UInt_t)(fBunchCross/1000000000.*fNanosecPerBC); }
38 UInt_t GetMicroSecs() const { return (UInt_t)(fmod(fBunchCross *fNanosecPerBC, 1000000000.)/1000 ); }
39 virtual Bool_t IsSortable() const { return kTRUE; }
40 // Setters
41 void SetTimeStamp( UInt_t orbit, UInt_t period, ULong64_t bunchcross );
42 void SetTimeStamp( UInt_t orbit, UInt_t period,
43 UInt_t seconds, UInt_t microsecs );
44
45
46 virtual Int_t Compare( const TObject* obj ) const;
47 virtual void Print( const Option_t* opt ="" ) const;
48
49 static const Int_t fNanosecPerBC; //! nanosecs per bunch cross
50
51protected:
52 UInt_t fOrbit; // Orbit
53 UInt_t fPeriod; // Period counter
54 ULong64_t fBunchCross; // Bunch Cross
55// UInt_t fSeconds; // Seconds
56// UInt_t fMicroSecs; // Microsecs
57
58private:
59 AliTimeStamp( const AliTimeStamp &timestamp );
60 AliTimeStamp& operator=(const AliTimeStamp& clus);
61
62 ClassDef( AliTimeStamp, 1 ) // Define a timestamp
63};
64
65
66#endif