21 #ifndef DD4HEP_GEOMETRY_DETECTORINTERNA_H
22 #define DD4HEP_GEOMETRY_DETECTORINTERNA_H
36 #include "TGeoMatrix.h"
46 class DetElementObject;
47 class SensitiveDetectorObject;
206 void update(
unsigned int tags,
void* param);
208 void revalidate(TGeoHMatrix* parent_world_trafo);
260 conditionsLoader(0), conditionsManager(0), alignmentsLoader(0), alignmentsManager(0)
Alignment nominal
Basic ideal/nominal detector element alignment entry.
LCDD * lcdd
Reference to the LCDD instance object.
PlacedVolume idealPlace
The subdetector placement corresponding to the ideal detector element's volume.
Handle class holding a placed volume (also called physical volume)
unsigned int typeFlag
Flag to encode detector types.
The data class behind a alignments container handle.
bool isValid() const
Check the validity of the object held by the handle.
Data class with properties of sensitive detectors.
void(* destruct_t)(void *)
Extensions destructor type.
void update(unsigned int tags, void *param)
Trigger update callbacks.
PlacedVolume placement
The subdetector placement corresponding to the actual detector element's volume.
AlignmentsManagerObject * alignmentsManager
Reference to the alignments manager object.
Conditions::Condition Condition
Handle class to hold the information of the top DetElement object 'world'.
void removeAtUpdate(unsigned int type, void *pointer)
Remove callback from object.
int combineHits
Flag to process hits.
unsigned int magic
Magic number to ensure data integrity.
Main handle class to hold an alignment object.
Main condition object handle.
Ref_t global_alignment
Global alignment data.
DetElementObject()
Default constructor.
Container class for condition handles aggregated by a detector element.
void *(* copy_t)(const void *, DetElement)
Extensions copy constructor type.
The data class behind a conditions container handle.
const TGeoHMatrix & worldTransformation()
Create cached matrix to transform to world coordinates.
TGeoHMatrix parentTrafo
Intermediate buffer to store the transformation to the parent detector element.
std::map< const std::type_info *, void * > Extensions
Handle to the implementation of the readout structure of a subdetector.
DetElement reference
Reference element for stored transformations.
Implementation of a named object.
const TGeoHMatrix & referenceTransformation()
Create cached matrix to transform to reference coordinates.
unsigned int key
Access hash key of this detector element (Only valid once geometry is closed!)
int id
Unique integer identifier of the detector instance.
UpdateCallbacks updateCalls
Placeholder for structure with update callbacks.
Alignments::Container AlignmentsContainer
ConditionsContainer assign_conditions()
void revalidate(TGeoHMatrix *parent_world_trafo)
Revalidate the caches.
Conditions internal namespace declaration.
Alignment survey
Basic detector element alignment entry containing the survey data.
ConditionsContainer conditions
The detector elements conditions access.
DetElement::Children Children
AlignmentsLoader * alignmentsLoader
Alignments loader for this LCDD instance.
DetElement::Extensions Extensions
DetElement parent
Reference to the parent element.
std::vector< UpdateCall > UpdateCallbacks
ConditionsLoader * conditionsLoader
Conditions loader for this LCDD instance.
Conditions::ConditionsManagerObject ConditionsManagerObject
Forward type definition of the ConditionsManagerObject type.
World world()
Access to the world object. Only possible once the geometry is closed.
Conditions::Container ConditionsContainer
int level
Hierarchical level within the detector description.
Alignments::AlignmentsLoader AlignmentsLoader
Forward type definition of the AlignmentsLoader type.
TGeoHMatrix * referenceTrafo
Intermediate buffer for the transformation to an arbitrary DetElement.
DetElement::copy_t copy_t
Handle< NamedObject > Ref_t
Default Ref_t definition describing named objects.
std::string placementPath
The path to the placement of the detector element (if placed)
VolumeID volumeID
The cached VolumeID of this subdetector element.
std::string type
The object type.
WorldObject()
Default constructor.
std::string hitsCollection
Handle class describing a detector element.
Alignments::AlignmentsManagerObject AlignmentsManagerObject
Forward type definition of the AlignmentsManagerObject type.
Container class for alignment handles aggregated by a detector element.
const TGeoHMatrix & parentTransformation()
Create cached matrix to transform to parent coordinates.
Handle class describing a set of limits as they are used for simulation.
SensitiveDetectorObject()
Default constructor.
Handle class describing a region as used in simulation.
std::pair< Callback, unsigned long > UpdateCall
unsigned int flag
Flag to remember internally calculated quatities.
std::vector< Alignment > volume_surveys
Alignment entries for lower level volumes, which are NOT attached to daughter DetElements.
virtual ~SensitiveDetectorObject()
Internal object destructor: release extension object(s)
The main interface to the DD4hep detector description package.
World i_access_world()
Resolve the world object. Internal use ONLY.
ConditionsManagerObject * conditionsManager
Reference to the conditions manager object.
virtual ~WorldObject()
Internal object destructor: release extension object(s)
std::map< std::string, DetElement > Children
Conditions::ConditionsLoader ConditionsLoader
Forward type definition of the ConditionsLoader type.
Data class with properties of a detector element.
Data class with properties of a detector element.
World privateWorld
Reference to the parent element.
DetElement::destruct_t destruct_t
Implementation of an object supporting arbitrary user extensions.
Children children
The array of children.
virtual ~DetElementObject()
Internal object destructor: release extension object(s)
TGeoHMatrix worldTrafo
Intermediate buffer to store the transformation to the world coordination system. ...
AlignmentsContainer alignments
The detector elements alignments access.
std::string path
Full path to this detector element. May be invalid.
virtual DetElementObject * clone(int new_id, int flag) const
Deep object copy to replicate DetElement trees e.g. for reflection.
std::vector< Alignment > volume_alignments
Alignment entries for lower level volumes, which are NOT attached to daughter DetElements.
Alignments::Alignment Alignment