8 #ifndef PROJECTIVECYLINDER_H_
9 #define PROJECTIVECYLINDER_H_
14 namespace DDSegmentation {
long long int CellID
Useful typedefs to differentiate cell IDs and volume IDs.
virtual VolumeID volumeID(const CellID &cellID) const
Determine the volume ID from the full cell ID by removing all local fields.
std::string _phiID
the field name used for phi
virtual CellID cellID(const Vector3D &localPosition, const Vector3D &globalPosition, const VolumeID &volumeID) const
determine the cell ID based on the position
virtual BitField64 * decoder() const
Access the underlying decoder.
int _phiBins
the number of bins in phi
int thetaBins() const
access the number of bins in theta
void setOffsetPhi(double offset)
set the coordinate offset in phi
virtual Vector3D position(const CellID &cellID) const
determine the position based on the cell ID
void setFieldNameTheta(const std::string &fieldName)
set the field name used for theta
void setPhiBins(int bins)
set the number of bins in phi
int _thetaBins
the number of bins in theta
int phiBins() const
access the number of bins in theta
Simple container for a physics vector.
void setFieldNamePhi(const std::string &fieldName)
set the field name used for phi
std::string _thetaID
the field name used for theta
void setOffsetTheta(double offset)
set the coordinate offset in theta
double theta() const
determine the polar angle theta based on the current cell ID
double offsetPhi() const
access the coordinate offset in phi
double phi() const
determine the azimuthal angle phi based on the current cell ID
double offsetTheta() const
access the coordinate offset in theta
ProjectiveCylinder(const std::string &cellEncoding)
default constructor using an arbitrary type
std::string fieldNamePhi() const
access the field name used for phi
std::string fieldNameTheta() const
access the field name used for theta
double _offsetTheta
the coordinate offset in theta
virtual ~ProjectiveCylinder()
destructor
void setThetaBins(int bins)
set the number of bins in theta
double _offsetPhi
the coordinate offset in phi