ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTowerv2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTowerv2.h
1 #ifndef CALOBASE_RawTowerv2_H
2 #define CALOBASE_RawTowerv2_H
3 
4 #include "RawTowerv1.h"
5 
6 #include "RawTowerDefs.h"
7 
8 #include <cstdint> // for uint8_t
9 #include <iostream>
10 #include <map>
11 
13 class RawTowerv2 : public RawTowerv1
14 {
15  public:
16  RawTowerv2();
17  RawTowerv2(const RawTower& tower);
19  RawTowerv2(const unsigned int ieta, const unsigned int iphi);
20  RawTowerv2(const RawTowerDefs::CalorimeterId caloid, const unsigned int ieta,
21  const unsigned int iphi);
22  ~RawTowerv2() override {}
23 
24  void Reset() override;
25  int isValid() const override;
26  void identify(std::ostream& os = std::cout) const override;
27 
28  double get_scint_gammas() const override { return get_property(prop_scint_gammas); }
29  void set_scint_gammas(const double e) override { set_property(prop_scint_gammas, e); }
30  double get_cerenkov_gammas() const override { return get_property(prop_cerenkov_gammas); }
31  void set_cerenkov_gammas(const double e) override { set_property(prop_cerenkov_gammas, e); }
32 
33  bool has_property(const PROPERTY prop_id) const override;
34  double get_property(const PROPERTY prop_id) const override;
35  void set_property(const PROPERTY prop_id, const double value) override;
36 
37  protected:
38  typedef uint8_t prop_id_t;
39  typedef std::map<prop_id_t, double> prop_map_t;
42 
43  ClassDefOverride(RawTowerv2, 1)
44 };
45 
46 #endif