Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:19:47

0001 #ifndef CALOBASE_TOWERINFODEFS_H
0002 #define CALOBASE_TOWERINFODEFS_H
0003 
0004 #include "RawTowerDefs.h"
0005 
0006 namespace TowerInfoDefs
0007 {
0008 
0009   unsigned int encode_emcal(const unsigned int towerIndex);
0010   unsigned int encode_emcal(const unsigned int etabin, const unsigned int phibin);
0011   unsigned int decode_emcal(const unsigned int tower_key);
0012 
0013   unsigned int encode_hcal(const unsigned int towerIndex);
0014   unsigned int encode_hcal(const unsigned int etabin, const unsigned int phibin);
0015   unsigned int decode_hcal(const unsigned int tower_key);
0016 
0017   unsigned int encode_epd(const unsigned int towerIndex);
0018   unsigned int encode_epd(const unsigned int arm, const unsigned int rbin, const unsigned int phibin);
0019   unsigned int decode_epd(const unsigned int tower_key);
0020 
0021   unsigned int get_epd_arm(unsigned int key);
0022   unsigned int get_epd_sector(unsigned int key);
0023   unsigned int get_epd_rbin(unsigned int key);
0024   unsigned int get_epd_phibin(unsigned int key);
0025   unsigned int getCaloTowerPhiBin(const unsigned int key);
0026   unsigned int getCaloTowerEtaBin(const unsigned int key);
0027   std::pair<int, int> getEMCalSectorIB(unsigned int towerIndex);
0028 
0029   unsigned int get_mbd_arm(const unsigned int key);
0030   unsigned int get_mbd_side(const unsigned int key);  // side is same as arm
0031   unsigned int get_mbd_type(const unsigned int key);  // 0 for time 1 for charge
0032   unsigned int get_mbd_channel(const unsigned int key);
0033   unsigned int encode_mbd(const unsigned int pmtIndex);
0034   unsigned int decode_mbd(const unsigned int key);
0035 
0036   unsigned int encode_zdc(const unsigned int towerIndex);  // has ZDC,SMD,VETO
0037   unsigned int decode_zdc(const unsigned int key);
0038   bool isZDC(const unsigned int towerIndex);
0039   int get_zdc_side(const unsigned int key);
0040   bool isSMD(const unsigned int towerIndex);
0041   int get_smd_side(const unsigned int key);
0042   bool isVeto(const unsigned int towerIndex);
0043   int get_veto_side(const unsigned int key);
0044 
0045   RawTowerDefs::keytype get_emcal_geokey_at_channel(const unsigned int towerIndex);
0046   RawTowerDefs::keytype get_hcalin_geokey_at_channel(const unsigned int towerIndex);
0047   RawTowerDefs::keytype get_hcalout_geokey_at_channel(const unsigned int towerIndex);
0048 
0049 }  // namespace TowerInfoDefs
0050 #endif