NearDetDAQChannelMap.h
Go to the documentation of this file.
1 #ifndef NEARDETDAQCHANNELMAP_H
2 #define NEARDETDAQCHANNELMAP_H
3 #include "DAQChannelMap/DAQChannelMap.h"
4 
5 namespace daqchannelmap
6 {
8  {
9  // NearDet specific functions and mapping.
10  public:
11  dchan encodeDChan(lchan logicalchan) const;
12  lchan encodeLChan(dchan daqchan) const;
13 
14  block_t computeBlock(lchan logicalchan) const;
15  plane_t computePlaneInBlock(lchan logicalchan) const;
16  unsigned int computeModule(lchan logicalchan) const;
17  fiber_t computeFiberInModule(dchan daqchan) const;
18 
19  DetView_TYPE getView(dchan daqchan) const;
20  unsigned int getTotalNumberOfDiblocks() const;
21  unsigned int getNumberOfDCM(DiBlock_TYPE dbt) const;
23 
25  virtual ~NearDetDAQChannelMap();
26 
27  private:
29  fiber_t fiber,
30  diblock_t diblock) const;
31  feb_t computeFEB(plane_t plane,
32  fiber_t fiber,
33  diblock_t diblock) const;
34  pixel_t computePixel(fiber_t fiber) const;
36  dcm_id_t dcm,
37  feb_t feb) const;
39  dcm_id_t dcm,
40  feb_t feb,
41  pixel_t pixel) const;
42  pixel_t FiberToPixel(fiber_t fiber) const;
43  fiber_t PixelToFiber(pixel_t pixel) const;
44 
45  bool printBinary(uint32_t) const;
46  bool printHex(uint32_t) const;
47  };
48 }
49 #endif
50 ////////////////////////////////////////////////////////////////////////
fiber_t PixelToFiber(pixel_t pixel) const
diblock
print "ROW IS " print row
Definition: geo2elec.py:31
DiBlock_TYPE getDiBlockType(dchan chan) const
What format is the diblock? Only relevant in NDOS.
bool printHex(uint32_t) const
bool printBinary(uint32_t) const
unsigned int getTotalNumberOfDiblocks() const
How many diblocks does the detector have?
plane_t computePlane(diblock_t diblock, dcm_id_t dcm, feb_t feb) const
uint32_t pixel_t
Type for physical pixel on APD.
pixel_t computePixel(fiber_t fiber) const
cell_t computeCell(diblock_t diblock, dcm_id_t dcm, feb_t feb, pixel_t pixel) const
dcm_id_t computeDCM(plane_t plane, fiber_t fiber, diblock_t diblock) const
unsigned int computeModule(lchan logicalchan) const
Which module in this lchan in?
feb_t computeFEB(plane_t plane, fiber_t fiber, diblock_t diblock) const
dchan encodeDChan(lchan logicalchan) const
Convert a logical channel ID to a DAQ channel id.
lchan encodeLChan(dchan daqchan) const
Convert a DAQ channel ID to a logical channel id.
unsigned int getNumberOfDCM(DiBlock_TYPE dbt) const
How many DCMs does this diblock have?
uint32_t feb_t
Type for DCM link port. Counts from 0.
block_t computeBlock(lchan logicalchan) const
Which block is this lchan in?
DetView_TYPE getView(dchan daqchan) const
Which view (X or Y) does this daq channel readout?
fiber_t computeFiberInModule(dchan daqchan) const
Which fiber does this dchan readout?
uint32_t dcm_id_t
Type for DCM number, counts from 1.
uint32_t plane_t
Type for plane.
DetView_TYPE
Types of Detector View.
uint32_t diblock_t
Type for diblocks and blocks.
DiBlock_TYPE
Types of Diblock.
uint32_t dchan
< DAQ Channel Map Package
plane_t computePlaneInBlock(lchan logicalchan) const
Which global plane in this lchan in?
pixel_t FiberToPixel(fiber_t fiber) const