CMS 3D CMS Logo

DCCTowerBlock.h

Go to the documentation of this file.
00001 // Date   : 02/03/2004
00002 // Author : N.Almeida (LIP)
00003 
00004 
00005 #ifndef DCCTBTOWERBLOCK_HH
00006 #define DCCTBTOWERBLOCK_HH
00007 
00008 #include <iostream>
00009 #include <string>
00010 #include <vector>
00011 #include <map>
00012 #include <utility>
00013 
00014 
00015 #include "DCCBlockPrototype.h"
00016 
00017 class DCCTBEventBlock;
00018 class DCCTBXtalBlock;
00019 class DCCTBDataParser;
00020 
00021 class DCCTBTowerBlock : public DCCTBBlockPrototype {
00022         
00023         public :
00024                 
00025                 DCCTBTowerBlock(
00026                         DCCTBEventBlock * dccBlock,
00027                         DCCTBDataParser * parser, 
00028                         ulong * buffer, 
00029                         ulong numbBytes, 
00030                         ulong wordsToEnd,
00031                         ulong wordEventOffset,
00032                         ulong expectedTowerID
00033                 );
00034                 
00035                 ~DCCTBTowerBlock();
00036                 
00037                 void parseXtalData();
00038                 int towerID();
00039 
00040                 std::vector< DCCTBXtalBlock * > & xtalBlocks();
00041                 
00042                 std::vector< DCCTBXtalBlock * > xtalBlocksById(ulong stripId, ulong xtalId);
00043                 
00044         protected :
00045                 
00046                 void dataCheck();
00047                 
00048                 enum towerFields{ BXMASK = 0xFFF,L1MASK = 0xFFF };
00049                 
00050                 std::vector<DCCTBXtalBlock * > xtalBlocks_;
00051                 DCCTBEventBlock * dccBlock_;
00052                 ulong expectedTowerID_;
00053                 
00054                 
00055 };
00056 
00057 inline std::vector<DCCTBXtalBlock *> & DCCTBTowerBlock::xtalBlocks(){ return xtalBlocks_; }
00058 
00059 #endif

Generated on Tue Jun 9 17:34:36 2009 for CMSSW by  doxygen 1.5.4