CMS 3D CMS Logo

List of all members | Public Member Functions
CSCChannelMapperBase Class Referenceabstract

#include <CSCChannelMapperBase.h>

Inheritance diagram for CSCChannelMapperBase:
CSCChannelMapperPostls1 CSCChannelMapperStartup

Public Member Functions

virtual int channelFromStrip (const CSCDetId &id, int strip) const =0
 
 CSCChannelMapperBase ()
 
int geomAnodeChannel (const CSCDetId &id, int iraw) const
 Alias for geomWireChannel. More...
 
int geomCathodeChannel (const CSCDetId &id, int iraw) const
 Alias for geomStripChannel. More...
 
virtual int geomStripChannel (const CSCDetId &id, int iraw) const =0
 Return geometrical strip channel number for input raw channel number. More...
 
int geomWireChannel (const CSCDetId &id, int iraw) const
 Return geometrical wiregroup channel number for input raw channel number. More...
 
virtual std::string name () const
 
int rawAnodeChannel (const CSCDetId &id, int igeom) const
 Alias for rawWireChannel. More...
 
int rawCathodeChannel (const CSCDetId &id, int igeom) const
 Alias for rawStripChannel. More...
 
virtual CSCDetId rawCSCDetId (const CSCDetId &id) const =0
 
virtual int rawStripChannel (const CSCDetId &id, int igeom) const =0
 Return raw strip channel number for input geometrical channel number. More...
 
int rawWireChannel (const CSCDetId &id, int igeom) const
 Return raw wiregroup channel number for input geometrical channel number. More...
 
virtual ~CSCChannelMapperBase ()
 

Detailed Description

Base class for concrete CSCChannelMapper classes that map between raw/online channel numbers (for strips/cathodes and wires/anodes) and offline geometry-oriented channel numbers, in which increasing number corresponds to increasing local x (strips) or y (wire groups) as defined in CMS Note CMS IN-2007/024.

The original of this class, CSCChannelTranslator, was written in the expectation that one day it would be replaced by a full "cable map" stored in conditions data. That has not yet been required and so the mappings are hard-coded.

Concrete derived classes must implement the following:

  1. Sort out any readout-flipping within the two endcaps for ME1a and ME1b strip channels.
  2. If ME1a is ganged then map the ME1a channels from online labels 65-80 to offline 1-16.
  3. Do nothing with wiregroup channels; the output = the input.
    (Historically some test beam data needed wiregroup remapping but this was embedded directly in the Unpacker of CSCRawToDigi. We want to move any such mappings into this class rather than have them scattered through the code.)

Beware that if ME1a is ganged,the 48 strips in ME1a are fed to 16 channels, so it is important to distinguish the nomenclatures "strip" vs "channel". It is usually a meaningful distinction!

Also note that the CSCDetId for ME11 and ME1b is identical. Offline we presume ring=1 of station 1 to mean the ME1b strips. We use the identifier ring=4 to denote the ME1a strips.

Author
Tim Cox

Definition at line 42 of file CSCChannelMapperBase.h.

Constructor & Destructor Documentation

◆ CSCChannelMapperBase()

CSCChannelMapperBase::CSCChannelMapperBase ( )
inline

Definition at line 44 of file CSCChannelMapperBase.h.

44 {}

◆ ~CSCChannelMapperBase()

virtual CSCChannelMapperBase::~CSCChannelMapperBase ( )
inlinevirtual

Definition at line 45 of file CSCChannelMapperBase.h.

45 {}

Member Function Documentation

◆ channelFromStrip()

virtual int CSCChannelMapperBase::channelFromStrip ( const CSCDetId id,
int  strip 
) const
pure virtual

Offline conversion of a strip (geometric labelling) back to channel (At present this just has to convert the 48 strips of ME1A to 16 ganged channels.)

Implemented in CSCChannelMapperStartup, and CSCChannelMapperPostls1.

Referenced by CSCConditions::channelFromStrip().

◆ geomAnodeChannel()

int CSCChannelMapperBase::geomAnodeChannel ( const CSCDetId id,
int  iraw 
) const
inline

Alias for geomWireChannel.

Definition at line 65 of file CSCChannelMapperBase.h.

65 { return geomWireChannel(id, iraw); }

References geomWireChannel().

◆ geomCathodeChannel()

int CSCChannelMapperBase::geomCathodeChannel ( const CSCDetId id,
int  iraw 
) const
inline

Alias for geomStripChannel.

Definition at line 63 of file CSCChannelMapperBase.h.

63 { return geomStripChannel(id, iraw); }

References geomStripChannel().

◆ geomStripChannel()

virtual int CSCChannelMapperBase::geomStripChannel ( const CSCDetId id,
int  iraw 
) const
pure virtual

Return geometrical strip channel number for input raw channel number.

Implemented in CSCChannelMapperStartup, and CSCChannelMapperPostls1.

Referenced by geomCathodeChannel().

◆ geomWireChannel()

int CSCChannelMapperBase::geomWireChannel ( const CSCDetId id,
int  iraw 
) const
inline

Return geometrical wiregroup channel number for input raw channel number.

Definition at line 56 of file CSCChannelMapperBase.h.

56 { return iraw; }

Referenced by geomAnodeChannel().

◆ name()

virtual std::string CSCChannelMapperBase::name ( ) const
inlinevirtual

◆ rawAnodeChannel()

int CSCChannelMapperBase::rawAnodeChannel ( const CSCDetId id,
int  igeom 
) const
inline

Alias for rawWireChannel.

Definition at line 61 of file CSCChannelMapperBase.h.

61 { return rawWireChannel(id, igeom); }

References rawWireChannel().

◆ rawCathodeChannel()

int CSCChannelMapperBase::rawCathodeChannel ( const CSCDetId id,
int  igeom 
) const
inline

Alias for rawStripChannel.

Definition at line 59 of file CSCChannelMapperBase.h.

59 { return rawStripChannel(id, igeom); }

References rawStripChannel().

◆ rawCSCDetId()

virtual CSCDetId CSCChannelMapperBase::rawCSCDetId ( const CSCDetId id) const
pure virtual

◆ rawStripChannel()

virtual int CSCChannelMapperBase::rawStripChannel ( const CSCDetId id,
int  igeom 
) const
pure virtual

◆ rawWireChannel()

int CSCChannelMapperBase::rawWireChannel ( const CSCDetId id,
int  igeom 
) const
inline

Return raw wiregroup channel number for input geometrical channel number.

Definition at line 52 of file CSCChannelMapperBase.h.

52 { return igeom; }

Referenced by rawAnodeChannel().

CSCChannelMapperBase::geomWireChannel
int geomWireChannel(const CSCDetId &id, int iraw) const
Return geometrical wiregroup channel number for input raw channel number.
Definition: CSCChannelMapperBase.h:56
CSCChannelMapperBase::geomStripChannel
virtual int geomStripChannel(const CSCDetId &id, int iraw) const =0
Return geometrical strip channel number for input raw channel number.
CSCChannelMapperBase::rawStripChannel
virtual int rawStripChannel(const CSCDetId &id, int igeom) const =0
Return raw strip channel number for input geometrical channel number.
CSCChannelMapperBase::rawWireChannel
int rawWireChannel(const CSCDetId &id, int igeom) const
Return raw wiregroup channel number for input geometrical channel number.
Definition: CSCChannelMapperBase.h:52