CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/SimDataFormats/EcalTestBeam/interface/HodoscopeDetId.h

Go to the documentation of this file.
00001 #ifndef ECALDETID_HODOSCOPEDETID_H
00002 #define ECALDETID_HODOSCOPEDETID_H
00003 
00004 #include <ostream>
00005 #include <cmath>
00006 #include "DataFormats/DetId/interface/DetId.h"
00007 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00008 #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h"
00009 
00017 // bkh June 2011: must be a calo detid type that is recognized by
00018 //                CaloGenericDetId for use of its denseIndex() fcn.
00019 //                Hence choose CaloTowerDetId to inherit from.
00020 
00021 class HodoscopeDetId : public CaloTowerDetId 
00022 {
00023    public:
00024 
00025       HodoscopeDetId();
00026       HodoscopeDetId( uint32_t rawid ) ;
00027       HodoscopeDetId( int iPlane, int iFibr ) ;
00028       HodoscopeDetId( const DetId& id ) ;
00029 
00030       int planeId() const ;
00031 
00032       int fibrId() const ;
00033 
00034       static bool validDetId( int iPlane , int iFibr ) ;
00035 
00037 
00038       static const int MIN_PLANE =  0 ;
00039       static const int MAX_PLANE =  3 ;
00040       static const int MIN_FIBR  =  0 ;
00041       static const int MAX_FIBR  = 63 ;
00042 
00043 };
00044 
00045 std::ostream& operator<<(std::ostream& s,const HodoscopeDetId& id);
00046 
00047 
00048 #endif