File indexing completed on 2024-04-06 12:20:15
0001 #ifndef UCTCard_hh
0002 #define UCTCard_hh
0003
0004 #include <vector>
0005
0006 #include "UCTGeometry.hh"
0007
0008 class UCTRegion;
0009
0010 class UCTCard {
0011 public:
0012 UCTCard(uint32_t crt, uint32_t crd, int fwv);
0013
0014
0015
0016 UCTCard() = delete;
0017
0018
0019
0020 UCTCard(const UCTCard&) = delete;
0021
0022
0023
0024 const UCTCard& operator=(const UCTCard&) = delete;
0025
0026 virtual ~UCTCard();
0027
0028
0029
0030 const std::vector<UCTRegion*>& getRegions() const { return regions; }
0031 const UCTRegion* getRegion(uint32_t rgn) const { return regions[rgn]; }
0032 const UCTRegion* getRegion(UCTRegionIndex r) const;
0033
0034
0035
0036 bool clearEvent();
0037 bool setECALData(UCTTowerIndex t, bool ecalFG, uint32_t ecalET);
0038 bool setHCALData(UCTTowerIndex t, uint32_t hcalFB, uint32_t hcalET);
0039 bool process();
0040
0041
0042
0043 const uint32_t getCrate() const { return crate; }
0044 const uint32_t getCard() const { return card; }
0045
0046 const uint32_t et() const { return cardSummary; }
0047
0048 friend std::ostream& operator<<(std::ostream&, const UCTCard&);
0049
0050 private:
0051
0052
0053 const UCTRegion* getRegion(bool negativeEta, uint32_t caloEta, uint32_t caloPhi) const;
0054
0055
0056
0057 uint32_t crate;
0058 uint32_t card;
0059
0060 std::vector<UCTRegion*> regions;
0061
0062 uint32_t cardSummary;
0063
0064 const int fwVersion;
0065 };
0066
0067 #endif