Belle II Software development
|
This class provides access to ECL channel map that is either a) Loaded from the database (see ecl/dbobject/include/ECLChannelMap.h). More...
#include <ECLChannelMapper.h>
Public Member Functions | |
ECLChannelMapper () | |
Default constructor. | |
~ECLChannelMapper () | |
Default destructor. | |
bool | initFromFile () |
Initialize channel mapper using data stored in default location. | |
bool | initFromFile (const char *eclMapFile) |
Initialize channel mapper using data stored in the ASCII file. | |
bool | initFromDB () |
Initialize channel mapper from the conditions database. | |
ECLChannelMap | getDBObject () |
Convert internal data to ECLChannelMap database object. | |
int | getCrateID (int iCOPPERNode, int iFINESSE, bool pcie40=false) |
Get crate number by given COPPER node number and FINESSE number. | |
int | getCellId (int iCrate, int iShaper, int iChannel) |
Get CellId by given crate number, shaper position in the crate and DSP channel number in the shaper. | |
int | getCOPPERNode (int iCrate) |
Get number of COPPER node by given crate number. | |
int | getFINESSE (int iCrate) |
Get number of FINESSE (0/1) in COPPER by given crate number. | |
int | getSubSystem (int iCrate) |
Get ECL subsystem ID by given crate number: 0 – barrel, 1 – forward. 2 – backward endcap. | |
int | getCrateID (int cellID) |
Get crate number by given CellId. | |
int | getShaperPosition (int cellID) |
Get position of the shaper in the crate by given CellId. | |
int | getShaperChannel (int cellID) |
Get number of DSP channel in the shaper by given number of CellId. | |
int | getElectronicsID (int cellID) |
Return channel index in ECLChannelMap. | |
int | getNShapersInCrate (int iCrate) |
Get number of ShaperDSP modules in the given VME crate number. | |
ClassDef (ECLChannelMapper, 1) | |
ClassDef. | |
Static Public Member Functions | |
static ECLChannelMapper * | getInstance (bool use_db=true) |
Return main instance of ECLChannelMapper. | |
Private Attributes | |
bool | isInitialized |
initialization flag | |
int | convertArrayBarrel [ECL_BARREL_CRATES *ECL_BARREL_SHAPERS_IN_CRATE *ECL_CHANNELS_IN_SHAPER] |
convert (iCrate, iShaper, iChannel) to CellId for Barrel ECL | |
int | convertArrayFWD [ECL_FWD_CRATES *ECL_FWD_SHAPERS_IN_CRATE *ECL_CHANNELS_IN_SHAPER] |
convert (iCrate, iShaper, iChannel) to CellId for Forward endcap | |
int | convertArrayBKW [ECL_BKW_CRATES *ECL_BKW_SHAPERS_IN_CRATE *ECL_CHANNELS_IN_SHAPER] |
convert (iCrate, iShaper, iChannel) to CellId Backward endcap | |
int | convertArrayInv [ECL_TOTAL_CHANNELS][3] |
convert CellId to (iCrate, iShaper, iChannel) | |
Static Private Attributes | |
static ECLChannelMapper * | instance = nullptr |
Main instance of ECLChannelMapper. | |
This class provides access to ECL channel map that is either a) Loaded from the database (see ecl/dbobject/include/ECLChannelMap.h).
b) (** NOT SUPPORTED **) Loaded from the text file (standard location is FileSystem::findFile("ecl/data/ecl_channels_map.txt"))
Please note that (a) is recommended and (b) should be used only for very specific rare cases (such as prepation of new ECLChannelMap payloads)
Definition at line 29 of file ECLChannelMapper.h.
ECLChannelMapper | ( | ) |
Default constructor.
Definition at line 25 of file ECLChannelMapper.cc.
|
inline |
int getCellId | ( | int | iCrate, |
int | iShaper, | ||
int | iChannel | ||
) |
Get CellId by given crate number, shaper position in the crate and DSP channel number in the shaper.
Definition at line 290 of file ECLChannelMapper.cc.
int getCOPPERNode | ( | int | iCrate | ) |
Get number of COPPER node by given crate number.
Definition at line 379 of file ECLChannelMapper.cc.
int getCrateID | ( | int | cellID | ) |
Get crate number by given CellId.
Definition at line 328 of file ECLChannelMapper.cc.
int getCrateID | ( | int | iCOPPERNode, |
int | iFINESSE, | ||
bool | pcie40 = false |
||
) |
Get crate number by given COPPER node number and FINESSE number.
iCOPPERNode | Node ID (26 nodes in COPPER case, 3 nodes in PCIe40 case) |
iFINESSE | Channel number (0 or 1 in COPPER case, 0-17 in PCIe40 case) |
pcie40 | Set to true if unpacking PCIe40 data |
Definition at line 233 of file ECLChannelMapper.cc.
ECLChannelMap getDBObject | ( | ) |
Convert internal data to ECLChannelMap database object.
Definition at line 205 of file ECLChannelMapper.cc.
int getElectronicsID | ( | int | cellID | ) |
Return channel index in ECLChannelMap.
Definition at line 349 of file ECLChannelMapper.cc.
int getFINESSE | ( | int | iCrate | ) |
Get number of FINESSE (0/1) in COPPER by given crate number.
Definition at line 391 of file ECLChannelMapper.cc.
|
static |
Return main instance of ECLChannelMapper.
use_db | If true, run initFromDB() at the creation of main instance |
Definition at line 49 of file ECLChannelMapper.cc.
|
inline |
Get number of ShaperDSP modules in the given VME crate number.
Definition at line 90 of file ECLChannelMapper.h.
int getShaperChannel | ( | int | cellID | ) |
Get number of DSP channel in the shaper by given number of CellId.
Definition at line 342 of file ECLChannelMapper.cc.
int getShaperPosition | ( | int | cellID | ) |
Get position of the shaper in the crate by given CellId.
Definition at line 335 of file ECLChannelMapper.cc.
int getSubSystem | ( | int | iCrate | ) |
Get ECL subsystem ID by given crate number: 0 – barrel, 1 – forward. 2 – backward endcap.
Definition at line 398 of file ECLChannelMapper.cc.
bool initFromDB | ( | ) |
Initialize channel mapper from the conditions database.
Definition at line 127 of file ECLChannelMapper.cc.
bool initFromFile | ( | ) |
Initialize channel mapper using data stored in default location.
Definition at line 42 of file ECLChannelMapper.cc.
bool initFromFile | ( | const char * | eclMapFile | ) |
Initialize channel mapper using data stored in the ASCII file.
Definition at line 59 of file ECLChannelMapper.cc.
|
private |
convert (iCrate, iShaper, iChannel) to CellId for Barrel ECL
Definition at line 35 of file ECLChannelMapper.h.
|
private |
convert (iCrate, iShaper, iChannel) to CellId Backward endcap
Definition at line 39 of file ECLChannelMapper.h.
|
private |
convert (iCrate, iShaper, iChannel) to CellId for Forward endcap
Definition at line 37 of file ECLChannelMapper.h.
|
private |
convert CellId to (iCrate, iShaper, iChannel)
Definition at line 41 of file ECLChannelMapper.h.
|
staticprivate |
Main instance of ECLChannelMapper.
Definition at line 43 of file ECLChannelMapper.h.
|
private |
initialization flag
Definition at line 32 of file ECLChannelMapper.h.