Go to the documentation of this file.00001 #ifndef EcalTestBeamAlgos_EcalTBReadout_h
00002 #define EcalTestBeamAlgos_EcalTBReadout_h
00003
00004
00005
00006
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
00025
00026
00027 EcalTBReadout(const std::string theEcalTBInfoLabel);
00028 ~EcalTBReadout(){};
00029
00031 void setDetIds(const std::vector<DetId> & detIds) {theDetIds = &detIds;}
00032
00034 void findTTlist(const int & crysId, const EcalTrigTowerConstituentsMap& etmap);
00035
00037 void readOut(EBDigiCollection & input, EBDigiCollection & output, const EcalTrigTowerConstituentsMap& etmap);
00038
00040 void readOut(EEDigiCollection & input, EEDigiCollection & output, const EcalTrigTowerConstituentsMap& etmap);
00041
00043 void performReadout(edm::Event& event, const EcalTrigTowerConstituentsMap & theTTmap, EBDigiCollection & input, EBDigiCollection & output);
00044
00046 void performReadout(edm::Event& event, const EcalTrigTowerConstituentsMap & theTTmap, EEDigiCollection & input, EEDigiCollection & output);
00047
00048 private:
00049
00050 int theTargetCrystal_;
00051
00052 std::vector<EcalTrigTowerDetId> theTTlist_;
00053
00054 static const int NCRYMATRIX = 7;
00055
00056 const std::vector<DetId>* theDetIds;
00057
00058 std::string ecalTBInfoLabel_;
00059
00060 };
00061
00062 #endif