Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTowerGeomv2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTowerGeomv2.h
1 #ifndef CALOBASE_RAWTOWERGEOMV2_H
2 #define CALOBASE_RAWTOWERGEOMV2_H
3 
4 #include "RawTowerGeom.h"
5 
6 #include "RawTowerDefs.h"
7 
8 #include <iostream>
9 
11 {
12  public:
15  ~RawTowerGeomv2() override {}
16 
17  void identify(std::ostream& os = std::cout) const override;
18 
19  void set_id(RawTowerDefs::keytype key) override { _towerid = key; }
20  RawTowerDefs::keytype get_id() const override { return _towerid; }
21 
22  int get_bineta() const override { return RawTowerDefs::decode_index1(_towerid); }
23  int get_binphi() const override { return RawTowerDefs::decode_index2(_towerid); }
24  int get_column() const override { return RawTowerDefs::decode_index1(_towerid); }
25  int get_row() const override { return RawTowerDefs::decode_index2(_towerid); }
26 
27  void set_center_x(double x) override
28  {
29  _center_x = x;
30  return;
31  }
32  void set_center_y(double y) override
33  {
34  _center_y = y;
35  return;
36  }
37  void set_center_z(double z) override
38  {
39  _center_z = z;
40  return;
41  }
42 
43  void set_size_x(double dx) override
44  {
45  _size_x = dx;
46  return;
47  }
48  void set_size_y(double dy) override
49  {
50  _size_y = dy;
51  return;
52  }
53  void set_size_z(double dz) override
54  {
55  _size_z = dz;
56  return;
57  }
58 
59  double get_center_x() const override { return _center_x; }
60  double get_center_y() const override { return _center_y; }
61  double get_center_z() const override { return _center_z; }
62 
63  double get_size_x() const override { return _size_x; }
64  double get_size_y() const override { return _size_y; }
65  double get_size_z() const override { return _size_z; }
66  double get_volume() const override { return (_size_x * _size_y * _size_z); }
67 
68  double get_center_radius() const override;
69  double get_eta() const override;
70  double get_phi() const override;
71 
72  protected:
74 
75  double _center_x = 0.;
76  double _center_y = 0.;
77  double _center_z = 0.;
78 
79  double _size_x = 0.;
80  double _size_y = 0.;
81  double _size_z = 0.;
82 
83  ClassDefOverride(RawTowerGeomv2, 3)
84 };
85 
86 #endif