| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RtmTraits.cc

Go to the documentation of this file.
00001 #include "RtmReadoutFormat/RtmTraits.h"
00002 #include "RtmReadoutFormat/RtmTraits_v1_3.h"
00003 
00004 #include <map>
00005 
00006 
00007 using DybDaq::RtmTraits;
00008 using DybDaq::RtmTraits_v1_3;
00009 
00010 // Components in this format
00011 const unsigned int RtmTraits::kData = 0;
00012 
00013 const unsigned int RtmTraits::kRtmMarkerValue = 0xa5a5;
00014 
00015 const unsigned int RtmTraits::kRtmMarker     = 0;
00016 const unsigned int RtmTraits::kRpcCFId       = RtmTraits::kRtmMarker + 1;
00017 const unsigned int RtmTraits::kTransErr      = RtmTraits::kRpcCFId + 1;
00018 const unsigned int RtmTraits::kRomAlmostFull = RtmTraits::kTransErr + 1;
00019 const unsigned int RtmTraits::kRtmAlmostFull = RtmTraits::kRomAlmostFull + 1;
00020 const unsigned int RtmTraits::kFullFlag      = RtmTraits::kRtmAlmostFull + 1;
00021 const unsigned int RtmTraits::kValidGPS      = RtmTraits::kFullFlag + 1;
00022 const unsigned int RtmTraits::kValidCLK      = RtmTraits::kValidGPS + 1;
00023 const unsigned int RtmTraits::kUsingUTC      = RtmTraits::kValidCLK + 1;
00024 const unsigned int RtmTraits::kSecond        = RtmTraits::kUsingUTC + 1;
00025 const unsigned int RtmTraits::kNanoSecond    = RtmTraits::kSecond + 1;
00026 const unsigned int RtmTraits::kAccumulation  = RtmTraits::kNanoSecond + 1;
00027 const unsigned int RtmTraits::kTriggerRot    = RtmTraits::kAccumulation + 1;
00028 const unsigned int RtmTraits::kTriggerMap    = RtmTraits::kTriggerRot + 1;
00029 
00030 static std::map<const char*, RtmTraits*> m_allTraits;
00031 
00032 
00033 RtmTraits::RtmTraits() {
00034 }
00035 
00036 RtmTraits::~RtmTraits() {
00037 }
00038 
00039 const RtmTraits& RtmTraits::defaultTraits() {
00040    if ( m_allTraits.size() == 0 ) {
00041       m_allTraits.insert(std::pair<const char*, RtmTraits*>(RtmTraits_v1_3::key(), new RtmTraits_v1_3()));
00042    }
00043    return *m_allTraits[ RtmTraits_v1_3::key() ];
00044 }
00045 
00046 const RtmTraits* RtmTraits::readTraits(const char*& ) {
00047    defaultTraits();
00048    return m_allTraits[ RtmTraits_v1_3::key() ];
00049 }
00050 
00051 const RtmTraits* RtmTraits::getTraits(const unsigned int version) {
00052    defaultTraits();
00053    if ( version == 0x13 ) {
00054       return m_allTraits[ RtmTraits_v1_3::key() ];
00055    }
00056    return m_allTraits[ RtmTraits_v1_3::key() ];
00057 }
00058 
00059 unsigned int RtmTraits::illegalMarker() const {
00060    return 0xffffffffU;
00061 }
00062 
00063 unsigned int RtmTraits::illegalField() const {
00064    return 0xffffffffU;
00065 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:47 2011 for RtmReadoutFormat by doxygen 1.4.7