Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

VldContext.h File Reference

#include "TObject.h"
#include "Conventions/Detector.h"
#include "Conventions/SimFlag.h"
#include "Validity/VldTimeStamp.h"
#include <iosfwd>

Go to the source code of this file.

Classes

class  VldContext
 A tag for identifying the required "context" when interfacing with the DBI. More...

Functions

std::ostream & operator<< (std::ostream &os, const VldContext &vldc)
Bool_t operator< (const VldContext &lhs, const VldContext &rhs)
Bool_t operator== (const VldContext &lhs, const VldContext &rhs)
Bool_t operator!= (const VldContext &lhs, const VldContext &rhs)
Bool_t operator<= (const VldContext &lhs, const VldContext &rhs)
Bool_t operator> (const VldContext &lhs, const VldContext &rhs)
Bool_t operator>= (const VldContext &lhs, const VldContext &rhs)


Function Documentation

Bool_t operator!= const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 114 of file VldContext.h.

References VldContext::fDetector, VldContext::fSimFlag, and VldContext::fTimeStamp.

00115 { 
00116    // not equal if any component doesn't match
00117    return 
00118      lhs.fDetector  != rhs.fDetector ||
00119      lhs.fSimFlag   != rhs.fSimFlag  ||
00120      lhs.fTimeStamp != rhs.fTimeStamp;
00121 }

Bool_t operator< const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 90 of file VldContext.h.

References VldContext::fDetector, VldContext::fSimFlag, and VldContext::fTimeStamp.

00091 { 
00092    // sorting is a little tricky with three fields
00093    // this sorts first by time then detector then simflag
00094    // *WARNING* be very careful if you change this
00095    if ( lhs.fTimeStamp  < rhs.fTimeStamp ) return true;
00096    if ( lhs.fTimeStamp == rhs.fTimeStamp ) {
00097       if ( lhs.fDetector  < rhs.fDetector ) return true;
00098       if ( lhs.fDetector == rhs.fDetector ) {
00099          if (lhs.fSimFlag  < rhs.fSimFlag ) return true;
00100       }
00101    }
00102    return false;
00103 }

std::ostream& operator<< std::ostream &  os,
const VldContext vldc
 

Definition at line 21 of file VldContext.cxx.

00022 {
00023    if (os.good()) {
00024       if (os.tie()) os.tie()->flush(); // instead of opfx
00025       os << vldc.AsString();
00026    }
00027    // instead of os.osfx()
00028    if (os.flags() & std::ios::unitbuf) os.flush();
00029    return os;
00030 }

Bool_t operator<= const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 123 of file VldContext.h.

00124 {
00125   return (lhs<rhs) || (lhs==rhs);
00126 }

Bool_t operator== const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 105 of file VldContext.h.

References VldContext::fDetector, VldContext::fSimFlag, and VldContext::fTimeStamp.

00106 { 
00107    // equal if all components match
00108    return 
00109      lhs.fDetector  == rhs.fDetector &&
00110      lhs.fSimFlag   == rhs.fSimFlag  &&
00111      lhs.fTimeStamp == rhs.fTimeStamp;
00112 }

Bool_t operator> const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 128 of file VldContext.h.

00129 {
00130   return !(lhs<rhs) && !(lhs==rhs);
00131 }

Bool_t operator>= const VldContext lhs,
const VldContext rhs
[inline]
 

Definition at line 133 of file VldContext.h.

00134 {
00135   return !(lhs<rhs);
00136 }


Generated on Sat Nov 7 01:29:05 2009 for loon by  doxygen 1.3.9.1