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

In This Package:

CbltTraits_v1_3.cc

Go to the documentation of this file.
00001 #include "CbltReadoutFormat/CbltTraits_v1_3.h"
00002 
00003 #include "DaqReadoutFormat/BitsDefinition.h"
00004 
00005 using DybDaq::DaqTraits;
00006 using DybDaq::CbltTraits_v1_3;
00007 using std::string;
00008 
00009 static const unsigned int m_indices[] = {
00010     0U, // kHeadModuleAddress
00011     0U, // kHeadModuleType
00012     0U, // kFootModuleAddress
00013     0U, // kFootDataLength
00014     0U, // kMajorVersion
00015     0U  // kMinorVersion
00016 };
00017 
00018 static const unsigned int m_shifts[] = {
00019     23U, // kHeadModuleAddress
00020     16U, // kHeadModuleType
00021     23U, // kFootModuleAddress
00022     0U,  // kFootDataLength
00023     4U,  // kMajorVersion
00024     0U   // kMinorVersion
00025 };
00026 
00027 static const unsigned int m_masks[] = {
00028     0x0000001f, // kHeadModuleAddress
00029     0x0000000f, // kHeadModuleType
00030     0x0000001f, // kFootModuleAddress
00031     0x0000ffff, // kFootDataLength
00032     0x0000000f, // kMajorVersion
00033     0x0000000f  // kMinorVersion
00034 };
00035 
00036 static const std::string m_description[] = {
00037     "CBLT Module Address",
00038     "CBLT Module Type",
00039     "CBLT Module Address",
00040     "CBLT Data Length"
00041 };
00042 
00043 static const unsigned int kCbltHeadElements[] = {
00044     0U, // kHeadModuleAddress
00045     1U  // kHeadModuleType
00046 };
00047 
00048 static const unsigned int kCbltBodyElements[] = {
00049 };
00050 
00051 static const unsigned int kCbltFootElements[] = {
00052     2U, // kFootModuleAddress
00053     3U  // kFootDataLength
00054 };
00055 
00056 static const unsigned int* m_componentFields[] = {
00057     kCbltHeadElements, // CBLT Head
00058     kCbltBodyElements, // CBLT Body
00059     kCbltFootElements  // CBLT Foot
00060 };
00061 
00062 static const unsigned int m_componentFieldsEnd[] = {
00063     2U, // CBLT Head
00064     0U, // CBLT Body
00065     2U  // CBLT Foot
00066 };
00067 
00068 static DaqTraits::Definitions* m_definitions[] = {
00069     0, // CBLT Head
00070     0, // CBLT Body
00071     0  // CBLT Foot
00072 };
00073 
00074 static const unsigned int m_moduleTypes[] = {
00075     1U, // kFeeModule
00076     2U, // kFadcModule
00077     3U, // kLtbModule
00078     4U, // kRpcRomModule
00079     5U, // kRpcRtmModule
00080     6U  // kMtbModule
00081 };
00082 
00083 static const char* m_moduleTypeStrings[] = {
00084     "UNK",
00085     "PMT_FEE",
00086     "Flash_ADC",
00087     "Local_Trigger",
00088     "RPC_ROM",
00089     "RPC_RTM",
00090     "Master_Trigger"
00091 };
00092 
00093 const char* CbltTraits_v1_3::key() {
00094         return "CBLT Format 1.3";
00095 }
00096 
00097 CbltTraits_v1_3::CbltTraits_v1_3() {
00098 }
00099 
00100 CbltTraits_v1_3::~CbltTraits_v1_3() {
00101 }
00102 
00103 unsigned int CbltTraits_v1_3::majorVersion() const {
00104         return 1U;
00105 }
00106 
00107 unsigned int CbltTraits_v1_3::minorVersion() const {
00108         return 3U;
00109 }
00110 
00111 const string CbltTraits_v1_3::versionString() const {
00112         return key();
00113 }
00114 
00115 unsigned int CbltTraits_v1_3::markersEnd() const {
00116     return 0U;
00117 }
00118 
00119 const unsigned int* CbltTraits_v1_3::markers() const {
00120     return 0;
00121 }
00122 
00123 unsigned int CbltTraits_v1_3::fieldsEnd() const {
00124         return kMinorVersion + 1;
00125 }
00126 
00127 const unsigned int* CbltTraits_v1_3::indices() const {
00128         return m_indices;
00129 }
00130 
00131 const unsigned int* CbltTraits_v1_3::shifts() const {
00132         return m_shifts;
00133 }
00134 
00135 const unsigned int* CbltTraits_v1_3::masks() const {
00136         return m_masks;
00137 }
00138 
00139 const std::string* CbltTraits_v1_3::descriptions() const {
00140     return m_description;
00141 }
00142 
00143 DaqTraits::Definitions* CbltTraits_v1_3::definitions(unsigned int component) const {
00144     return m_definitions[component];
00145 }
00146 
00147 void CbltTraits_v1_3::setDefinitions(DaqTraits::Definitions* definitions,
00148                                     unsigned int component) {
00149     m_definitions[component] = definitions;
00150 }
00151 
00152 const unsigned int* CbltTraits_v1_3::componentFields(unsigned int component) const {
00153     return m_componentFields[component];
00154 }
00155 
00156 const unsigned int CbltTraits_v1_3::componentFieldsEnd(unsigned int component) const {
00157     return m_componentFieldsEnd[component];
00158 }
00159 
00160 unsigned int CbltTraits_v1_3::maxModuleType() const {
00161     return 6U;
00162 }
00163 
00164 const unsigned int* CbltTraits_v1_3::moduleTypes() const {
00165         return m_moduleTypes;
00166 }
00167 
00168 const char** CbltTraits_v1_3::moduleTypeStrings() const {
00169     return m_moduleTypeStrings;
00170 }
00171 
00172 unsigned int CbltTraits_v1_3::headSize() const {
00173     return 1U;
00174 }
00175 
00176 unsigned int CbltTraits_v1_3::footSize() const {
00177     return 1U;
00178 }
00179 
00180 void CbltTraits_v1_3::initializeHead(char* buffer) const {
00181     *((unsigned int*)buffer)       = 0x20000013U; // Head four bytes
00182 }
00183 
00184 void CbltTraits_v1_3::initializeFoot(char* buffer) const {
00185     *((unsigned int*)buffer)       = 0xc0000000U; // Foot four bytes
00186 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:16 2011 for CbltReadoutFormat by doxygen 1.4.7