CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/SimCalorimetry/EcalTestBeamAlgos/interface/EcalTBReadout.h

Go to the documentation of this file.
00001 #ifndef EcalTestBeamAlgos_EcalTBReadout_h
00002 #define EcalTestBeamAlgos_EcalTBReadout_h
00003 
00004 /*
00005  *
00006  * $Id: EcalTBReadout.h,v 1.4 2010/12/20 23:24:14 heltsley Exp $
00007  *
00008  */
00009 
00010 #include <string>
00011 #include <vector>
00012 
00013 #include "FWCore/Framework/interface/Event.h"
00014 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00015 #include "DataFormats/EcalDetId/interface/EcalTrigTowerDetId.h"
00016 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00017 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00018 #include "Geometry/CaloTopology/interface/EcalTrigTowerConstituentsMap.h"
00019 
00020 class EcalTBReadout 
00021 {
00022    public:
00023 
00024       EcalTBReadout(const std::string theEcalTBInfoLabel);
00025       ~EcalTBReadout(){};
00026 
00028       void setDetIds(const std::vector<DetId> & detIds) {theDetIds = &detIds;}
00029 
00031       void findTTlist( const int& crysId , 
00032                        const EcalTrigTowerConstituentsMap& etmap);
00033 
00035       void readOut( const EBDigiCollection&             input  , 
00036                     EBDigiCollection&                   output , 
00037                     const EcalTrigTowerConstituentsMap& etmap    ) ;
00038 
00040       void readOut( const EEDigiCollection&             input  ,
00041                     EEDigiCollection&                   output ,
00042                     const EcalTrigTowerConstituentsMap& etmap   ) ;
00043 
00045       void performReadout( edm::Event&                         event    , 
00046                            const EcalTrigTowerConstituentsMap& theTTmap , 
00047                            const EBDigiCollection&             input    , 
00048                            EBDigiCollection&                   output     ) ;
00049 
00051       void performReadout( edm::Event&                         event    , 
00052                            const EcalTrigTowerConstituentsMap& theTTmap , 
00053                            const EEDigiCollection&             input    , 
00054                            EEDigiCollection&                   output     ) ;
00055 
00056    private:
00057 
00058       int theTargetCrystal_;
00059 
00060       std::vector<EcalTrigTowerDetId> theTTlist_;
00061 
00062       static const int NCRYMATRIX = 7;
00063   
00064       const std::vector<DetId>* theDetIds;
00065 
00066       std::string ecalTBInfoLabel_;
00067 };
00068 
00069 #endif