![]() |
![]() |
#include <CSCChannelMapperBase.h>
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. | |
int | geomCathodeChannel (const CSCDetId &id, int iraw) const |
Alias for geomStripChannel. | |
virtual int | geomStripChannel (const CSCDetId &id, int iraw) const =0 |
Return geometrical strip channel number for input raw channel number. | |
int | geomWireChannel (const CSCDetId &id, int iraw) const |
Return geometrical wiregroup channel number for input raw channel number. | |
virtual std::string | name () const |
int | rawAnodeChannel (const CSCDetId &id, int igeom) const |
Alias for rawWireChannel. | |
int | rawCathodeChannel (const CSCDetId &id, int igeom) const |
Alias for rawStripChannel. | |
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. | |
int | rawWireChannel (const CSCDetId &id, int igeom) const |
Return raw wiregroup channel number for input geometrical channel number. | |
virtual | ~CSCChannelMapperBase () |
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.
Definition at line 37 of file CSCChannelMapperBase.h.
CSCChannelMapperBase::CSCChannelMapperBase | ( | ) | [inline] |
Definition at line 40 of file CSCChannelMapperBase.h.
{}
virtual CSCChannelMapperBase::~CSCChannelMapperBase | ( | ) | [inline, virtual] |
Definition at line 41 of file CSCChannelMapperBase.h.
{}
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 CSCChannelMapperPostls1, and CSCChannelMapperStartup.
int CSCChannelMapperBase::geomAnodeChannel | ( | const CSCDetId & | id, |
int | iraw | ||
) | const [inline] |
Alias for geomWireChannel.
Definition at line 61 of file CSCChannelMapperBase.h.
References geomWireChannel().
{ return geomWireChannel( id, iraw );}
int CSCChannelMapperBase::geomCathodeChannel | ( | const CSCDetId & | id, |
int | iraw | ||
) | const [inline] |
Alias for geomStripChannel.
Definition at line 59 of file CSCChannelMapperBase.h.
References geomStripChannel().
{ return geomStripChannel( id, iraw );}
virtual int CSCChannelMapperBase::geomStripChannel | ( | const CSCDetId & | id, |
int | iraw | ||
) | const [pure virtual] |
Return geometrical strip channel number for input raw channel number.
Implemented in CSCChannelMapperPostls1, and CSCChannelMapperStartup.
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().
{ return iraw; }
virtual std::string CSCChannelMapperBase::name | ( | ) | const [inline, virtual] |
Reimplemented in CSCChannelMapperPostls1, and CSCChannelMapperStartup.
Definition at line 43 of file CSCChannelMapperBase.h.
{return "CSCChannelMapperBase";}
int CSCChannelMapperBase::rawAnodeChannel | ( | const CSCDetId & | id, |
int | igeom | ||
) | const [inline] |
Alias for rawWireChannel.
Definition at line 57 of file CSCChannelMapperBase.h.
References rawWireChannel().
{ return rawWireChannel( id, igeom );}
int CSCChannelMapperBase::rawCathodeChannel | ( | const CSCDetId & | id, |
int | igeom | ||
) | const [inline] |
Alias for rawStripChannel.
Definition at line 55 of file CSCChannelMapperBase.h.
References rawStripChannel().
{ return rawStripChannel( id, igeom );}
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 CSCChannelMapperPostls1, and CSCChannelMapperStartup.
virtual int CSCChannelMapperBase::rawStripChannel | ( | const CSCDetId & | id, |
int | igeom | ||
) | const [pure virtual] |
Return raw strip channel number for input geometrical channel number.
Implemented in CSCChannelMapperPostls1, and CSCChannelMapperStartup.
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().
{ return igeom; }