13 #ifndef DD4HEP_GEOMETRY_SEGMENTATIONSINTERNA_H
14 #define DD4HEP_GEOMETRY_SEGMENTATIONSINTERNA_H
30 class DetElementObject;
31 class SegmentationObject;
32 class SensitiveDetectorObject;
56 const std::string&
name()
const;
58 void setName(
const std::string& value);
61 const std::string&
type()
const;
118 template <
typename IMP>
inline
long long int CellID
Useful typedefs to differentiate cell IDs and volume IDs.
SegmentationObject(BaseSegmentation *s=0)
Standard constructor.
Implementation class supporting generic Segmentation of sensitive detectors.
IMP * implementation
DDSegmentation aggregate.
const std::string & description() const
Access the description of the segmentation.
Handle< DetElementObject > detector
Reference to hosting top level DetElement structure.
Parameter parameter(const std::string ¶meterName) const
Access to parameter by name.
const std::string & type() const
Access the segmentation type.
Handle< SensitiveDetectorObject > sensitive
Reference to hosting top level sensitve detector structure.
void setName(const std::string &value)
Set the segmentation name.
std::string fieldDescription() const
Access the encoding string.
std::vector< Parameter > Parameters
BaseSegmentation * segmentation
Reference to base segmentation.
virtual ~SegmentationWrapper()
Default destructor.
virtual ~SegmentationObject()
Default destructor.
DDSegmentation::Parameter Parameter
Concrete wrapper class for segmentation implementation based on DDSegmentation objects.
Position position(const CellID &cellID) const
Determine the local position based on the cell ID.
DDSegmentation::Segmentation BaseSegmentation
ROOT::Math::XYZVector Position
Base class for all segmentations.
unsigned char useForHitPosition
Flag to use segmentation for hit positioning.
DDSegmentation::Parameters Parameters
VolumeID volumeID(const CellID &cellID) const
Determine the volume ID from the full cell ID by removing all local fields.
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.
void setParameters(const Parameters ¶meters)
Set all parameters from an existing set of parameters.
Class to hold a segmentation parameter with its description.
const std::string & name() const
Access the segmentation name.
SegmentationWrapper(DDSegmentation::BitField64 *decoder)
Standard constructor.
CellID cellID(const Position &localPosition, const Position &globalPosition, const VolumeID &volumeID) const
Determine the cell ID based on the position.
void setDecoder(BitField64 *decoder) const
Set the underlying decoder.
unsigned long magic
Magic word to check object integrity.
BitField64 * decoder() const
Access the underlying decoder.
Parameters parameters() const
Access to all parameters.