CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/EventFilter/EcalRawToDigi/interface/DCCTCCBlock.h

Go to the documentation of this file.
00001 #ifndef DCCTCCBLOCK_HH
00002 #define DCCTCCBLOCK_HH
00003 
00004 /*
00005  *\ Class DCCTCCBlock
00006  *
00007  * Class responsible for the trigger primitives unpacking.
00008  *
00009  * \file DCCTCCBlock.h
00010  *
00011  * $Date: 2012/08/06 21:51:35 $
00012  * $Revision: 1.3 $
00013  *
00014  * \author N. Almeida
00015  * 
00016  *
00017 */
00018 
00019 #include <iostream>                  
00020 #include <string>
00021 #include <vector>
00022 #include <map>
00023 #include <utility>
00024 
00025 
00026 #include <DataFormats/EcalDigi/interface/EcalDigiCollections.h>
00027 #include <DataFormats/EcalDigi/interface/EcalTriggerPrimitiveDigi.h>
00028 #include <DataFormats/EcalDigi/interface/EcalPseudoStripInputDigi.h>
00029 #include <DataFormats/EcalDigi/interface/EcalTriggerPrimitiveSample.h>
00030 #include <DataFormats/EcalDetId/interface/EcalTrigTowerDetId.h>
00031 
00032 #include "DCCDataBlockPrototype.h"
00033 
00034 class DCCDataUnpacker;
00035 
00036 class DCCTCCBlock : public DCCDataBlockPrototype {
00037         
00038   public :
00042     DCCTCCBlock( DCCDataUnpacker *  u, EcalElectronicsMapper * m, DCCEventBlock * e, bool unpack);    
00043    
00044     virtual void addTriggerPrimitivesToCollection(){};
00045 
00049     int unpack(const uint64_t ** data, unsigned int * dwToEnd, short tccChId=0);
00050          
00051     void display(std::ostream & o); 
00052          
00053   
00054   protected :
00055 
00056     virtual bool checkTccIdAndNumbTTs(){return true;};
00057           
00058     unsigned int tccId_;
00059     unsigned int bx_;
00060     unsigned int l1_;
00061     unsigned int nTTs_;
00062     unsigned int nTSamples_;
00063     unsigned int expNumbTTs_;
00064     unsigned int expTccId_;
00065     unsigned int ps_;
00066     
00067     EcalTrigTowerDetId * pTTDetId_;   
00068     EcalTriggerPrimitiveDigi * pTP_;
00069     EcalPseudoStripInputDigi * pPS_;
00070     std::auto_ptr<EcalTrigPrimDigiCollection> * tps_;  
00071     std::auto_ptr<EcalPSInputDigiCollection> * pss_;  
00072 
00073 };
00074 
00075 #endif