CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DataFormats/CaloRecHit/interface/CaloRecHit.h

Go to the documentation of this file.
00001 #ifndef DATAFORMATS_CALORECHIT_CALORECHIT_H
00002 #define DATAFORMATS_CALORECHIT_CALORECHIT_H 1
00003 
00004 #include "DataFormats/DetId/interface/DetId.h"
00005 #include <ostream>
00006 
00007 
00014 class CaloRecHit {
00015 public:
00016   CaloRecHit(); // for persistence
00017   explicit CaloRecHit(const DetId& id, float energy, float time, uint32_t flags = 0, uint32_t aux=0);
00018 
00019   float energy() const { return energy_; }
00020   float time() const { return time_; }
00021   const DetId& detid() const { return id_; }
00022   uint32_t flags() const { return flags_; }
00023   void setFlags(uint32_t flags) { flags_=flags; }
00024   void setFlagField(uint32_t value, int base, int width=1);
00025   uint32_t flagField(int base, int width=1) const;
00026   void setAux(uint32_t value) { aux_=value; }
00027   uint32_t aux() const { return aux_; }
00028 private:
00029   DetId id_;
00030   float energy_;
00031   float time_;
00032   uint32_t flags_;
00033   uint32_t aux_;
00034 };
00035 
00036 std::ostream& operator<<(std::ostream& s, const CaloRecHit& hit);
00037   
00038 #endif