Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4CylinderGeomv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4CylinderGeomv1.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4CYLINDERGEOMV1_H
4 #define G4DETECTORS_PHG4CYLINDERGEOMV1_H
5 
6 #include "PHG4CylinderGeom.h"
7 
8 #include <cmath>
9 #include <iostream> // for cout, ostream
10 
11 class PHParameters;
12 
14 {
15  public:
17  PHG4CylinderGeomv1(const double r, const double zmi, const double zma, const double thickn)
18  : radius(r)
19  , zmin(zmi)
20  , zmax(zma)
21  , thickness(thickn)
22  {
23  }
24 
25  ~PHG4CylinderGeomv1() override {}
26 
27  // from PHObject
28  void identify(std::ostream& os = std::cout) const override;
29 
30  int get_layer() const override { return layer; }
31  double get_radius() const override { return radius; }
32  double get_thickness() const override { return thickness; }
33  double get_zmin() const override { return zmin; }
34  double get_zmax() const override { return zmax; }
35 
36  void set_layer(const int i) override { layer = i; }
37  void set_radius(const double r) override { radius = r; }
38  void set_thickness(const double t) override { thickness = t; }
39  void set_zmin(const double z) override { zmin = z; }
40  void set_zmax(const double z) override { zmax = z; }
41 
43  void ImportParameters(const PHParameters& param) override;
44 
45  protected:
46  int layer = -1;
47  double radius = NAN;
48  double zmin = NAN;
49  double zmax = NAN;
50  double thickness = NAN;
51 
52  ClassDefOverride(PHG4CylinderGeomv1, 1)
53 };
54 
55 #endif