Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTowerGeomContainer_Cylinderv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTowerGeomContainer_Cylinderv1.h
1 #ifndef CALOBASE_RAWTOWERGEOMCONTAINER_CYLINDERV1_H
2 #define CALOBASE_RAWTOWERGEOMCONTAINER_CYLINDERV1_H
3 
5 
6 #include "RawTowerDefs.h"
7 
8 #include <iostream>
9 #include <utility>
10 #include <vector>
11 
16 {
17  public:
21 
22  void
23  identify(std::ostream& os = std::cout) const override;
24 
25 // cppcheck-suppress virtualCallInConstructor
26  void Reset() override;
27 
28  double
29  get_radius() const override
30  {
31  return radius;
32  }
33 
34  double
35  get_thickness() const override
36  {
37  return thickness;
38  }
39 
40  int get_phibins() const override
41  {
42  return phi_bound_map.size();
43  }
44  int get_etabins() const override
45  {
46  return eta_bound_map.size();
47  }
48 
49  std::pair<double, double>
50  get_phibounds(const int ibin) const override;
51  std::pair<double, double>
52  get_etabounds(const int ibin) const override;
53 
54  double
55  get_etacenter(const int ibin) const override;
56 
57  double
58  get_phicenter(const int ibin) const override;
59 
60  int get_etabin(const double eta) const override;
61  int get_phibin(const double phi) const override;
62 
63  void
64  set_radius(const double r) override
65  {
66  radius = r;
67  }
68  void
69  set_thickness(const double t) override
70  {
71  thickness = t;
72  }
73  void
74  set_phibins(const int i) override;
75  void
76  set_etabins(const int i) override;
77 
78  void
79  set_etabounds(const int ibin, const std::pair<double, double>& bounds) override;
80  void
81  set_phibounds(const int ibin, const std::pair<double, double>& bounds) override;
82 
83  protected:
84  double radius;
85  double thickness;
86 
87  typedef std::pair<double, double> bound_t;
88  typedef std::vector<bound_t> bound_map_t;
89 
92 
93  ClassDefOverride(RawTowerGeomContainer_Cylinderv1, 1)
94 };
95 
96 #endif