Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:33

0001 #ifndef SiPixelObjects_FrameConversion_H
0002 #define SiPixelObjects_FrameConversion_H
0003 
0004 #include "CondFormats/SiPixelObjects/interface/LinearConversion.h"
0005 
0006 class PixelEndcapName;
0007 class PixelBarrelName;
0008 class TrackerTopology;
0009 
0010 namespace sipixelobjects {
0011 
0012   class FrameConversion {
0013   public:
0014     FrameConversion() {}
0015     FrameConversion(const PixelEndcapName& name, int rocIdInDetUnit);
0016     FrameConversion(const PixelBarrelName& name, int rocIdInDetUnit);
0017     FrameConversion(int rowOffset, int rowSlopeSign, int colOffset, int colSlopeSign)
0018         : theRowConversion(LinearConversion(rowOffset, rowSlopeSign)),
0019           theCollumnConversion(LinearConversion(colOffset, colSlopeSign)) {}
0020     // for phase1
0021     FrameConversion(bool bpix, int side, int layer, int rocIdInDetUnit);
0022     // Frame conversion compatible with CMSSW_9_0_X Monte Carlo samples
0023     FrameConversion(bool bpix, int side, int rocIdInDetUnit);
0024 
0025     const sipixelobjects::LinearConversion& row() const { return theRowConversion; }
0026     const sipixelobjects::LinearConversion& collumn() const { return theCollumnConversion; }
0027 
0028   private:
0029     sipixelobjects::LinearConversion theRowConversion;
0030     sipixelobjects::LinearConversion theCollumnConversion;
0031   };
0032 
0033 }  // namespace sipixelobjects
0034 #endif