00001 #ifndef EcalTestBeamAlgos_EcalTBReadout_h 00002 #define EcalTestBeamAlgos_EcalTBReadout_h 00003 00004 /* 00005 * 00006 * $Id: EcalTBReadout.h,v 1.1 2006/06/15 12:45:35 fabiocos 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 // The following is not yet used, but will be the primary 00025 // constructor when the parameter set system is available. 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 performReadout(edm::Event& event, const EcalTrigTowerConstituentsMap & theTTmap, EBDigiCollection & input, EBDigiCollection & output); 00041 00042 private: 00043 00044 int theTargetCrystal_; 00045 00046 std::vector<EcalTrigTowerDetId> theTTlist_; 00047 00048 static const int NCRYMATRIX = 7; 00049 00050 std::vector<DetId> theDetIds; 00051 00052 std::string ecalTBInfoLabel_; 00053 00054 }; 00055 00056 #endif