CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 37 of file CSCChannelMapperBase.h.

Constructor & Destructor Documentation

CSCChannelMapperBase::CSCChannelMapperBase ( )
inline

Definition at line 40 of file CSCChannelMapperBase.h.

40 {}
virtual CSCChannelMapperBase::~CSCChannelMapperBase ( )
inlinevirtual

Definition at line 41 of file CSCChannelMapperBase.h.

41 {}

Member Function Documentation

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.

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

Alias for geomWireChannel.

Definition at line 61 of file CSCChannelMapperBase.h.

References geomWireChannel().

61 { return geomWireChannel( id, iraw );}
int geomWireChannel(const CSCDetId &id, int iraw) const
Return geometrical wiregroup channel number for input raw channel number.
int CSCChannelMapperBase::geomCathodeChannel ( const CSCDetId id,
int  iraw 
) const
inline

Alias for geomStripChannel.

Definition at line 59 of file CSCChannelMapperBase.h.

References geomStripChannel().

59 { return geomStripChannel( id, iraw );}
virtual int geomStripChannel(const CSCDetId &id, int iraw) const =0
Return geometrical strip channel number for input raw channel number.
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().

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

Return geometrical wiregroup channel number for input raw channel number.

Definition at line 52 of file CSCChannelMapperBase.h.

Referenced by geomAnodeChannel().

52 { return iraw; }
virtual std::string CSCChannelMapperBase::name ( ) const
inlinevirtual
int CSCChannelMapperBase::rawAnodeChannel ( const CSCDetId id,
int  igeom 
) const
inline

Alias for rawWireChannel.

Definition at line 57 of file CSCChannelMapperBase.h.

References rawWireChannel().

57 { return rawWireChannel( id, igeom );}
int rawWireChannel(const CSCDetId &id, int igeom) const
Return raw wiregroup channel number for input geometrical channel number.
int CSCChannelMapperBase::rawCathodeChannel ( const CSCDetId id,
int  igeom 
) const
inline

Alias for rawStripChannel.

Definition at line 55 of file CSCChannelMapperBase.h.

References rawStripChannel().

55 { return rawStripChannel( id, igeom );}
virtual int rawStripChannel(const CSCDetId &id, int igeom) const =0
Return raw strip channel number for input geometrical channel number.
virtual CSCDetId CSCChannelMapperBase::rawCSCDetId ( const CSCDetId id) const
pure virtual

Construct raw CSCDetId matching supplied offline CSCDetid (At present all this has to do is return the ME11 CSCDetID when supplied with that for ME1A)

Implemented in CSCChannelMapperStartup, and CSCChannelMapperPostls1.

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

Return raw strip channel number for input geometrical channel number.

Implemented in CSCChannelMapperStartup, and CSCChannelMapperPostls1.

Referenced by rawCathodeChannel().

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

Return raw wiregroup channel number for input geometrical channel number.

Definition at line 48 of file CSCChannelMapperBase.h.

Referenced by rawAnodeChannel().

48 { return igeom; }