Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:41

0001 #ifndef ECALDETID_HODOSCOPEDETID_H
0002 #define ECALDETID_HODOSCOPEDETID_H
0003 
0004 #include <ostream>
0005 #include <cmath>
0006 #include "DataFormats/DetId/interface/DetId.h"
0007 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
0008 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0009 
0010 /** \class HodoscopeDetId
0011  *  Hodoscope fiber identifier class for the ECAL TBH4 setup
0012  *
0013  *
0014  */
0015 
0016 // bkh June 2011: must be a calo detid type that is recognized by
0017 //                CaloGenericDetId for use of its denseIndex() fcn.
0018 //                Hence choose EBDetId to inherit from.
0019 
0020 class HodoscopeDetId : public EBDetId {
0021 public:
0022   HodoscopeDetId();
0023   HodoscopeDetId(uint32_t rawid);
0024   HodoscopeDetId(int iPlane, int iFibr);
0025   HodoscopeDetId(const DetId& id);
0026 
0027   int planeId() const;
0028 
0029   int fibrId() const;
0030 
0031   static bool validDetId(int iPlane, int iFibr);
0032 
0033   /// range constants
0034 
0035   static const int MIN_PLANE = 0;
0036   static const int MAX_PLANE = 3;
0037   static const int MIN_FIBR = 0;
0038   static const int MAX_FIBR = 63;
0039 };
0040 
0041 std::ostream& operator<<(std::ostream& s, const HodoscopeDetId& id);
0042 
0043 #endif