Class Reference for E1039 Core & Analysis Software
PHG4CylinderCellGeom.h
Go to the documentation of this file.
1 #ifndef PHG4CylinderCellGeom_H__
2 #define PHG4CylinderCellGeom_H__
3 
4 #include <phool/PHObject.h>
5 
6 #include <map>
7 #include <string>
8 
10 {
11  public:
13 
14  virtual ~PHG4CylinderCellGeom() {}
15 
16  void identify(std::ostream& os = std::cout) const;
17  int get_layer() const {return layer;}
18  double get_radius() const {return radius;}
19  double get_thickness() const {return thickness;}
20  int get_binning() const {return binning;}
21  int get_zbins() const;
22  int get_phibins() const;
23  double get_zmin() const;
24  double get_phistep() const;
25  double get_phimin() const;
26  double get_zstep() const;
27  int get_etabins() const;
28  double get_etastep() const;
29  double get_etamin() const;
30 
31  virtual std::pair<double, double> get_zbounds(const int ibin) const;
32  virtual std::pair<double, double> get_phibounds(const int ibin) const;
33  virtual std::pair<double, double> get_etabounds(const int ibin) const;
34  virtual double get_etacenter(const int ibin) const;
35  virtual double get_zcenter(const int ibin) const;
36  virtual double get_phicenter(const int ibin) const;
37 
38  virtual int get_etabin(const double eta) const;
39  virtual int get_zbin(const double z) const;
40  virtual int get_phibin(const double phi) const;
41 
42  void set_layer(const int i) {layer = i;}
43  void set_binning(const int i) {binning = i;}
44  void set_radius(const double r) {radius = r;}
45  void set_thickness(const double t) {thickness = t;}
46  void set_zbins(const int i);
47  void set_zmin(const double z);
48  void set_zstep(const double z);
49  void set_phibins(const int i);
50  void set_phistep(const double phi);
51  void set_phimin(const double phi);
52  void set_etabins(const int i);
53  void set_etamin(const double z);
54  void set_etastep(const double z);
55 
56  protected:
57  void check_binning_method(const int i) const;
58  void check_binning_method_eta(const std::string & src = "") const;
59  void check_binning_method_phi(const std::string & src = "") const;
60  std::string methodname(const int i) const;
61  int layer;
62  int binning;
63  double radius;
64  int nzbins;
65  double zmin;
66  double zstep;
67  int nphibins;
68  double phimin;
69  double phistep;
70  double thickness;
71 
72  ClassDef(PHG4CylinderCellGeom,1)
73 };
74 
75 #endif
void set_zmin(const double z)
void set_radius(const double r)
void set_etastep(const double z)
virtual std::pair< double, double > get_phibounds(const int ibin) const
virtual int get_phibin(const double phi) const
virtual double get_phicenter(const int ibin) const
void set_etamin(const double z)
void set_zstep(const double z)
void set_binning(const int i)
void set_layer(const int i)
void set_phibins(const int i)
void set_phistep(const double phi)
void set_phimin(const double phi)
void check_binning_method_phi(const std::string &src="") const
virtual double get_etacenter(const int ibin) const
virtual double get_zcenter(const int ibin) const
virtual std::pair< double, double > get_zbounds(const int ibin) const
void identify(std::ostream &os=std::cout) const
void set_zbins(const int i)
void check_binning_method(const int i) const
void set_etabins(const int i)
double get_thickness() const
void set_thickness(const double t)
void check_binning_method_eta(const std::string &src="") const
virtual int get_zbin(const double z) const
virtual int get_etabin(const double eta) const
std::string methodname(const int i) const
virtual std::pair< double, double > get_etabounds(const int ibin) const