13 #ifndef DD4HEP_GEOMETRY_SEGMENTATIONS_H
14 #define DD4HEP_GEOMETRY_SEGMENTATIONS_H
32 class DetElementObject;
33 class SegmentationObject;
34 class SensitiveDetectorObject;
69 std::string
type()
const;
long long int CellID
Useful typedefs to differentiate cell IDs and volume IDs.
Implementation class supporting generic Segmentation of sensitive detectors.
const char * name() const
Access the object name (or "" if not supported by the object)
void setDecoder(BitField64 *decoder) const
Set the underlying decoder.
bool useForHitPosition() const
Access flag for hit positioning.
void neighbours(const CellID &cellID, std::set< CellID > &neighbours) const
Calculates the neighbours of the given cell ID and adds them to the list of neighbours.
Position position(const long64 &cellID) const
determine the local position based on the cell ID
std::vector< Parameter > Parameters
DDSegmentation::Parameter Parameter
BitField64 * decoder() const
Access the underlying decoder.
Parameters parameters() const
Access to the parameters.
Segmentation(const Segmentation &e)
Copy Constructor from object.
Handle< DetElementObject > detector() const
Access the main detector element using this segmetnation object.
Segmentation(const Handle< Q > &e)
Constructor to be used when reading the already parsed object.
std::vector< double > cellDimensions(const CellID &cellID) const
Returns a vector<double> of the cellDimensions of the given cell ID in natural order of dimensions...
Parameter parameter(const std::string ¶meterName) const
Access to parameter by name.
BaseSegmentation * segmentation() const
Access to the base DDSegmentation object. WARNING: Deprecated call!
ROOT::Math::XYZVector Position
DDSegmentation::Parameters Parameters
Segmentation()=default
Default constructor.
Handle class supporting generic Segmentation of sensitive detectors.
Base class for all segmentations.
VolumeID volumeID(const CellID &cellID) const
Determine the volume ID from the full cell ID by removing all local fields.
DDSegmentation::Segmentation BaseSegmentation
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
Handle< SensitiveDetectorObject > sensitive() const
Access the sensitive detector using this segmetnation object.
SegmentationObject Object
Segmentation & operator=(const Segmentation &seg)=default
Assignment operator.
Class to hold a segmentation parameter with its description.
long64 cellID(const Position &localPosition, const Position &globalPosition, const long64 &volumeID) const
determine the cell ID based on the local position
std::string type() const
Accessor: Segmentation type.