Jpp
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
KM3NETDAQ::JDAQUTCExtended Class Reference

Data structure for UTC time. More...

#include <JDAQUTCExtended.hh>

Inheritance diagram for KM3NETDAQ::JDAQUTCExtended:
JDETECTOR::JModuleGeometry

Public Types

typedef unsigned int JUINT32_t
 

Public Member Functions

 JDAQUTCExtended ()
 Default constructor. More...
 
 JDAQUTCExtended (const JUINT32_t seconds, const JUINT32_t cycles)
 Constructor. More...
 
 JDAQUTCExtended (const double nanoseconds)
 Constructor. More...
 
virtual ~JDAQUTCExtended ()
 Virtual destructor. More...
 
JUINT32_t getUTCseconds () const
 Get time. More...
 
JUINT32_t getUTC16nanosecondcycles () const
 Get time. More...
 
double getTimeNanoSecond () const
 Get time (limited to 16 ns cycles). More...
 
void setTimeNanoSecond (const double utc_ns)
 Set time. More...
 
 ClassDef (JDAQUTCExtended, 1)
 

Static Public Member Functions

static JDAQUTCExtended min ()
 Get minimum possible value. More...
 
static JDAQUTCExtended max ()
 Get maximum possible value. More...
 
static JUINT32_t getMask ()
 Get mask for seconds data. More...
 
static double getTick ()
 Get number of nano-seconds per tick. More...
 
static int sizeOf ()
 Get size of object. More...
 

Protected Attributes

JUINT32_t UTC_seconds
 
JUINT32_t UTC_16nanosecondcycles
 

Friends

std::istream & operator>> (std::istream &in, JDAQUTCExtended &utc)
 Read UTC time. More...
 
std::ostream & operator<< (std::ostream &out, const JDAQUTCExtended &utc)
 Write UTC time. More...
 
JReaderoperator>> (JReader &in, JDAQUTCExtended &utc)
 Read UTC from input. More...
 
JWriteroperator<< (JWriter &out, const JDAQUTCExtended &utc)
 Write UTC to output. More...
 

Detailed Description

Data structure for UTC time.

Definition at line 27 of file JDAQUTCExtended.hh.

Member Typedef Documentation

◆ JUINT32_t

Definition at line 31 of file JDAQUTCExtended.hh.

Constructor & Destructor Documentation

◆ JDAQUTCExtended() [1/3]

KM3NETDAQ::JDAQUTCExtended::JDAQUTCExtended ( )
inline

Default constructor.

Definition at line 37 of file JDAQUTCExtended.hh.

37  :
38  UTC_seconds(0),
40  {}

◆ JDAQUTCExtended() [2/3]

KM3NETDAQ::JDAQUTCExtended::JDAQUTCExtended ( const JUINT32_t  seconds,
const JUINT32_t  cycles 
)
inline

Constructor.

Parameters
secondsseconds [s]
cyclescycles [16 ns]

Definition at line 49 of file JDAQUTCExtended.hh.

50  :
51  UTC_seconds(seconds),
53  {}

◆ JDAQUTCExtended() [3/3]

KM3NETDAQ::JDAQUTCExtended::JDAQUTCExtended ( const double  nanoseconds)
inline

Constructor.

Parameters
nanosecondstime [ns]

Definition at line 61 of file JDAQUTCExtended.hh.

62  {
63  setTimeNanoSecond(nanoseconds);
64  }

◆ ~JDAQUTCExtended()

virtual KM3NETDAQ::JDAQUTCExtended::~JDAQUTCExtended ( )
inlinevirtual

Virtual destructor.

Definition at line 70 of file JDAQUTCExtended.hh.

71  {}

Member Function Documentation

◆ getUTCseconds()

JUINT32_t KM3NETDAQ::JDAQUTCExtended::getUTCseconds ( ) const
inline

Get time.

Returns
time [s]

Definition at line 79 of file JDAQUTCExtended.hh.

80  {
81  return (UTC_seconds & getMask());
82  }

◆ getUTC16nanosecondcycles()

JUINT32_t KM3NETDAQ::JDAQUTCExtended::getUTC16nanosecondcycles ( ) const
inline

Get time.

Returns
time [16 ns]

Definition at line 90 of file JDAQUTCExtended.hh.

91  {
93  }

◆ getTimeNanoSecond()

double KM3NETDAQ::JDAQUTCExtended::getTimeNanoSecond ( ) const
inline

Get time (limited to 16 ns cycles).

Returns
time [ns]

Definition at line 101 of file JDAQUTCExtended.hh.

102  {
103  return getUTCseconds() * 1.0e9 + getUTC16nanosecondcycles() * getTick();
104  }

◆ setTimeNanoSecond()

void KM3NETDAQ::JDAQUTCExtended::setTimeNanoSecond ( const double  utc_ns)
inline

Set time.

Parameters
utc_nstime [ns]

Definition at line 112 of file JDAQUTCExtended.hh.

113  {
114  UTC_seconds = (unsigned int) ( utc_ns / 1.0e9);
115  UTC_16nanosecondcycles = (unsigned int) ((utc_ns - UTC_seconds*1.0e9) / getTick());
116  }

◆ min()

static JDAQUTCExtended KM3NETDAQ::JDAQUTCExtended::min ( )
inlinestatic

Get minimum possible value.

Returns
minimum possible value

Definition at line 124 of file JDAQUTCExtended.hh.

125  {
126  return JDAQUTCExtended(0,0);
127  }

◆ max()

static JDAQUTCExtended KM3NETDAQ::JDAQUTCExtended::max ( )
inlinestatic

Get maximum possible value.

Returns
maximum possible value

Definition at line 135 of file JDAQUTCExtended.hh.

136  {
137  return JDAQUTCExtended(std::numeric_limits<JUINT32_t>::max(),
138  std::numeric_limits<JUINT32_t>::max());
139  }

◆ getMask()

static JUINT32_t KM3NETDAQ::JDAQUTCExtended::getMask ( )
inlinestatic

Get mask for seconds data.

Returns
mask

Definition at line 147 of file JDAQUTCExtended.hh.

148  {
149  return 0x7FFFFFFF;
150  }

◆ getTick()

static double KM3NETDAQ::JDAQUTCExtended::getTick ( )
inlinestatic

Get number of nano-seconds per tick.

Returns
time [ns]

Definition at line 158 of file JDAQUTCExtended.hh.

159  {
160  return 16.0;
161  }

◆ sizeOf()

static int KM3NETDAQ::JDAQUTCExtended::sizeOf ( )
inlinestatic

Get size of object.

Returns
number of bytes

Definition at line 239 of file JDAQUTCExtended.hh.

240  {
241  return 2*sizeof(JUINT32_t);
242  }

◆ ClassDef()

KM3NETDAQ::JDAQUTCExtended::ClassDef ( JDAQUTCExtended  ,
 
)

Friends And Related Function Documentation

◆ operator>> [1/2]

std::istream& operator>> ( std::istream &  in,
JDAQUTCExtended utc 
)
friend

Read UTC time.

Parameters
inintput stream
utcUTC extended time
Returns
intput stream

Definition at line 171 of file JDAQUTCExtended.hh.

172  {
173  in >> utc.UTC_seconds;
174  in.get();
175  in >> utc.UTC_16nanosecondcycles;
176 
177  return in;
178  }

◆ operator<< [1/2]

std::ostream& operator<< ( std::ostream &  out,
const JDAQUTCExtended utc 
)
friend

Write UTC time.

Parameters
outoutput stream
utcUTC extended time
Returns
output stream

Definition at line 188 of file JDAQUTCExtended.hh.

189  {
190  using namespace std;
191 
192  const char c = out.fill();
193 
194  out << setw(10) << utc.getUTCseconds();
195  out << ':';
196  out << setw(10) << setfill('0') << utc.getUTC16nanosecondcycles() << setfill(c);
197 
198  return out;
199  }

◆ operator>> [2/2]

JReader& operator>> ( JReader in,
JDAQUTCExtended utc 
)
friend

Read UTC from input.

Parameters
inreader
utcUTC
Returns
reader

Definition at line 209 of file JDAQUTCExtended.hh.

210  {
211  in >> utc.UTC_seconds;
212  in >> utc.UTC_16nanosecondcycles;
213 
214  return in;
215  }

◆ operator<< [2/2]

JWriter& operator<< ( JWriter out,
const JDAQUTCExtended utc 
)
friend

Write UTC to output.

Parameters
outwriter
utcUTC
Returns
writer

Definition at line 225 of file JDAQUTCExtended.hh.

226  {
227  out << utc.UTC_seconds;
228  out << utc.UTC_16nanosecondcycles;
229 
230  return out;
231  }

Member Data Documentation

◆ UTC_seconds

JUINT32_t KM3NETDAQ::JDAQUTCExtended::UTC_seconds
protected

Definition at line 249 of file JDAQUTCExtended.hh.

◆ UTC_16nanosecondcycles

JUINT32_t KM3NETDAQ::JDAQUTCExtended::UTC_16nanosecondcycles
protected

Definition at line 250 of file JDAQUTCExtended.hh.


The documentation for this class was generated from the following file:
KM3NETDAQ::JDAQUTCExtended::setTimeNanoSecond
void setTimeNanoSecond(const double utc_ns)
Set time.
Definition: JDAQUTCExtended.hh:112
KM3NETDAQ::JDAQUTCExtended::JUINT32_t
unsigned int JUINT32_t
Definition: JDAQUTCExtended.hh:31
KM3NETDAQ::JDAQUTCExtended::getMask
static JUINT32_t getMask()
Get mask for seconds data.
Definition: JDAQUTCExtended.hh:147
KM3NETDAQ::JDAQUTCExtended::getUTCseconds
JUINT32_t getUTCseconds() const
Get time.
Definition: JDAQUTCExtended.hh:79
KM3NETDAQ::JDAQUTCExtended::UTC_16nanosecondcycles
JUINT32_t UTC_16nanosecondcycles
Definition: JDAQUTCExtended.hh:250
KM3NETDAQ::JDAQUTCExtended::UTC_seconds
JUINT32_t UTC_seconds
Definition: JDAQUTCExtended.hh:249
KM3NETDAQ::JDAQUTCExtended::JDAQUTCExtended
JDAQUTCExtended()
Default constructor.
Definition: JDAQUTCExtended.hh:37
KM3NETDAQ::JDAQUTCExtended::getUTC16nanosecondcycles
JUINT32_t getUTC16nanosecondcycles() const
Get time.
Definition: JDAQUTCExtended.hh:90
KM3NETDAQ::JDAQUTCExtended::getTick
static double getTick()
Get number of nano-seconds per tick.
Definition: JDAQUTCExtended.hh:158
std
Definition: jaanetDictionary.h:36