![]() |
![]() |
00001 #if !defined(CSCTFTBRAWFORMAT_CSCTFTBFRONTHEADER_H) 00002 #define CSCTFTBRAWFORMAT_CSCTFTBFRONTHEADER_H 00003 // -*- C++ -*- 00004 // 00005 // Package: CSCTFTBRawFormat 00006 // Module: CSCTFTBFrontHeader 00007 // 00008 // Description: Header file for SP Front Block Header class 00009 // 00010 // Implementation: 00011 // <Notes on implementation> 00012 // 00013 // Author: Lindsey Gray 00014 // Created: 13.1.2005 00015 // 00016 // $Id: CSCTFTBFrontHeader.h,v 1.1 2007/04/26 23:39:19 kkotov Exp $ 00017 00018 // System include files 00019 #include <iostream> 00020 // Package include files 00021 00022 // External package include files 00023 00024 // STL classes 00025 00026 // Forward declarations 00027 00028 class CSCTFTBFrontHeader 00029 { 00030 00031 // Friend classses and functions 00032 00033 // Public part 00034 public: 00035 // Constants, enums and typedefs 00036 00037 // Constructors and destructor 00038 CSCTFTBFrontHeader(); 00039 CSCTFTBFrontHeader(const CSCTFTBFrontHeader&); 00040 00041 ~CSCTFTBFrontHeader(); 00042 00043 // Member functions 00044 00045 // Const member functions 00046 00048 unsigned validPattern() const {return vld_patrn_;} 00049 00051 unsigned getVPBit(unsigned int frontFPGA, unsigned int link) const; 00052 00054 unsigned synchError() const {return synch_err_;} 00055 00057 unsigned getSEBit(unsigned int frontFPGA, unsigned int link) const; 00058 00060 bool check() const { return (zero1_==0 && zero2_==0);} 00061 00063 static unsigned size() {return size_;}; 00064 00066 friend std::ostream & operator<<(std::ostream & stream, const CSCTFTBFrontHeader &); 00067 friend class CSCTFTBFrontBlock; 00068 // Private part 00069 private: 00070 00071 //frame 1 00072 unsigned vld_patrn_ :15; 00073 unsigned zero1_ :1; // always zero 00074 //frame 2 00075 unsigned synch_err_ :15; 00076 unsigned zero2_ :1; // always zero 00077 00078 // Constructors and destructor 00079 00080 // Assignment operator(s) 00081 00082 // Private member functions 00083 00084 // Private const member functions 00085 00086 // Data members 00087 00088 // Static data members 00089 static const unsigned size_ = 2; // 16 bit words 00090 // Inline function definitions 00091 00092 }; 00093 00094 #endif