Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TowerInfoContainer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TowerInfoContainer.h
1 #ifndef TOWERINFOCONTAINER_H
2 #define TOWERINFOCONTAINER_H
3 
4 #include "TowerInfo.h"
5 
6 #include <phool/PHObject.h>
7 
8 #include <climits>
9 #include <map>
10 
12 {
13  public:
14  typedef std::map<unsigned int, TowerInfo*> TowerMap;
15  typedef TowerMap::const_iterator ConstIter;
16  typedef TowerMap::iterator Iter;
17 
18  enum DETECTOR
19  {
20  EMCAL = 0,
21  HCAL = 1,
22  SEPD = 2,
23  MBD = 3,
24  ZDC = 4,
26  };
27 
28  TowerInfoContainer() = default;
29  ~TowerInfoContainer() override = default;
30  void identify(std::ostream& os = std::cout) const override;
31 
32  virtual void Reset() override {}
33  virtual TowerInfo* get_tower_at_channel(int /*index*/) { return nullptr; }
34  virtual TowerInfo* get_tower_at_key(int /*key*/) { return nullptr; }
35  virtual size_t size() const { return 0; }
36 
37  virtual unsigned int encode_key(unsigned int /*towerIndex*/) { return UINT_MAX; }
38  virtual unsigned int decode_key(unsigned int /*towerIndex*/) { return UINT_MAX; }
39 
40  virtual unsigned int encode_epd(unsigned int /*towerIndex*/);
41  virtual unsigned int encode_hcal(unsigned int /*towerIndex*/);
42  virtual unsigned int encode_emcal(unsigned int /*towerIndex*/);
43  virtual unsigned int encode_mbd(unsigned int /*towerIndex*/);
44  virtual unsigned int encode_zdc(unsigned int /*towerIndex*/);
45 
46  virtual unsigned int decode_epd(unsigned int /*towerIndex*/);
47  virtual unsigned int decode_hcal(unsigned int /*towerIndex*/);
48  virtual unsigned int decode_emcal(unsigned int /*towerIndex*/);
49  virtual unsigned int decode_mbd(unsigned int /*towerIndex*/);
50  virtual unsigned int decode_zdc(unsigned int /*towerIndex*/);
51 
52  virtual unsigned int getTowerPhiBin(unsigned int /*towerIndex*/);
53  virtual unsigned int getTowerEtaBin(unsigned int /*towerIndex*/);
54 
55  virtual DETECTOR get_detectorid() const {return DETECTOR_INVALID;}
56 
57  private:
59 };
60 
61 #endif