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

In This Package:

EventTraits.cc

Go to the documentation of this file.
00001 /*
00002  *  EventTraits.cc
00003  *  RawFileReading
00004  *
00005  *  Created by Simon Patton on 7/19/10.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 #include "EventReadoutFormat/EventTraits.h"
00010 
00011 #include <map>
00012 #include "EventReadoutFormat/EventTraits_v0_6.h"
00013 
00014 using DybDaq::EventTraits;
00015 using DybDaq::EventTraits_v0_6;
00016 
00017 const unsigned int EventTraits::kEventHeader = 0;
00018 const unsigned int EventTraits::kRomHeader = EventTraits::kEventHeader + 1;
00019 
00020 //
00021 
00022 const unsigned int EventTraits::kMarker = 0;
00023 const unsigned int EventTraits::kMajorVersion = EventTraits::kMarker + 1;
00024 const unsigned int EventTraits::kMinorVersion = EventTraits::kMajorVersion + 1;
00025 const unsigned int EventTraits::kEventHeaderSize = EventTraits::kMinorVersion + 1;
00026 const unsigned int EventTraits::kEventTotalSize = EventTraits::kEventHeaderSize + 1;
00027 const unsigned int EventTraits::kEventSite = EventTraits::kEventTotalSize + 1;
00028 const unsigned int EventTraits::kEventDetector = EventTraits::kEventSite + 1;
00029 const unsigned int EventTraits::kEventRun = EventTraits::kEventDetector + 1;
00030 const unsigned int EventTraits::kEventNumber = EventTraits::kEventRun + 1;
00031 const unsigned int EventTraits::kEventDataType = EventTraits::kEventNumber + 1;
00032 const unsigned int EventTraits::kCbltWrapping = EventTraits::kEventDataType + 1;
00033 const unsigned int EventTraits::kRawCblt = EventTraits::kCbltWrapping + 1;
00034 const unsigned int EventTraits::kLtbMismatch = EventTraits::kRawCblt + 1;
00035 const unsigned int EventTraits::kInvalidData = EventTraits::kLtbMismatch + 1;
00036 const unsigned int EventTraits::kRomHeaderSize = EventTraits::kInvalidData + 1;
00037 const unsigned int EventTraits::kRomTotalSize = EventTraits::kRomHeaderSize + 1;
00038 const unsigned int EventTraits::kRomSite = EventTraits::kRomTotalSize + 1;
00039 const unsigned int EventTraits::kRomDetector = EventTraits::kRomSite + 1;
00040 const unsigned int EventTraits::kRomModuleType = EventTraits::kRomDetector + 1;
00041 const unsigned int EventTraits::kRomSlot = EventTraits::kRomModuleType + 1;
00042 
00043 //
00044 
00045 const unsigned int EventTraits::kFeeModule = 0;
00046 const unsigned int EventTraits::kFadcModule = EventTraits::kFeeModule + 1;
00047 const unsigned int EventTraits::kLtbModule = EventTraits::kFadcModule + 1;
00048 const unsigned int EventTraits::kRpcRomModule = EventTraits::kLtbModule + 1;
00049 const unsigned int EventTraits::kRpcRtmModule = EventTraits::kRpcRomModule + 1;
00050 const unsigned int EventTraits::kMtbModule = EventTraits::kRpcRtmModule + 1;
00051 
00052 static std::map<const char*, EventTraits*> m_allTraits;
00053 
00054 EventTraits::EventTraits() {
00055 }
00056 
00057 EventTraits::~EventTraits() {
00058 }
00059 
00060 const EventTraits& EventTraits::defaultTraits() {
00061     if (0 == m_allTraits.size()) {
00062         m_allTraits.insert(std::pair<const char*, EventTraits*>(EventTraits_v0_6::key(),new EventTraits_v0_6()));
00063     }
00064     return *m_allTraits[EventTraits_v0_6::key()];
00065 }
00066 
00067 const EventTraits* EventTraits::readTraits(const char*&) {
00068     return &defaultTraits();
00069 }
00070 
00071 unsigned int EventTraits::illegalMarker() const {
00072     return 0xffffffffU;
00073 }
00074 
00075 unsigned int EventTraits::illegalField() const {
00076     return 0xffffffffU;
00077 }
00078 
00079 const char* EventTraits::siteAsString(const unsigned int site) const {
00080     return siteStrings()[site];
00081 }
00082 
00083 const char* EventTraits::detectorAsString(const unsigned int detector) const {
00084     return detectorStrings()[detector];
00085 }
00086 
00087 const char* EventTraits::dataTypeAsString(const unsigned int dataType) const {
00088     return dataTypeStrings()[dataType];
00089 }
00090 
00091 unsigned int EventTraits::moduleType(const unsigned int module) const {
00092         if (module > maxModuleType()) {
00093                 return 0;
00094         }
00095         return moduleTypes()[module];
00096 }
00097 
00098 const char* EventTraits::moduleTypeAsString(const unsigned int moduleType) const {
00099     return moduleTypeStrings()[moduleType];
00100 }
00101 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:24 2011 for EventReadoutFormat by doxygen 1.4.7