DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Functions
DD4hep::Geometry Namespace Reference

Namespace for the geometry part of the AIDA detector description toolkit. More...

Namespaces

 DetectorTools
 Helper namespace used to answer detector element specific questons.
 

Classes

class  GeometryTreeDump
 Geometry to screen dump action. More...
 
class  LCDDImp
 Concrete implementation class of the LCDD interface. More...
 
class  SimpleGDMLWriter
 Simple GDML creator from TGeo geometries in memory. More...
 
class  SegmentationWrapper
 Concrete wrapper class for segmentation implementation based on DDSegmentation objects. More...
 
class  CartesianGridXY
 Implementation class for the grid XY segmentation. More...
 
class  CartesianGridXYZ
 Implementation class for the grid XYZ segmentation. More...
 
class  CartesianGridXZ
 Implementation class for the grid XZ segmentation. More...
 
class  CartesianGridYZ
 Implementation class for the grid YZ segmentation. More...
 
class  SensitiveDetector
 Handle class to hold the information of a sensitive detector. More...
 
class  DetElement
 Handle class describing a detector element. More...
 
class  DetectorSelector
 View on LCDD to select detectors according to certain criteria. More...
 
class  CartesianField
 Handle class describing any field with 3D cartesian vectors for the field strength. More...
 
class  OverlayedField
 Class describing a field overlay with several sources. More...
 
class  ConstantField
 Implementation object of a field with constant strength. More...
 
class  SolenoidField
 Implementation object of a solenoidal magnetic field. More...
 
class  DipoleField
 Implementation object of a dipole magnetic field. More...
 
class  MultipoleField
 Implementation object of a Multipole magnetic field. More...
 
class  GeoHandlerTypes
 Defintion of the object types used by generic geometry handlers. More...
 
class  GeoHandler
 The base class for all DD4hep geometry crawlers. More...
 
class  GeoScan
 Geometry scanner (handle object) More...
 
class  IDDescriptor
 Class implementing the ID encoding of detector response. More...
 
class  LCDD
 The main interface to the DD4hep detector description package. More...
 
class  LCDDData
 Data implementation class of the LCDD interface. More...
 
class  LCDDHelper
 LCDDHelper: class to shortcut certain questions to the DD4hep detector description interface. More...
 
class  MultiSegmentation
 Implementation class for the grid XZ segmentation. More...
 
class  Author
 Handle class describing an author entity. More...
 
class  Header
 Handle class describing the basic information about geometry objects as it is defined in LCDD. More...
 
class  Constant
 Handle class describing a constant (define) object in lcdd. More...
 
class  Atom
 Handle class describing an element in the periodic table. More...
 
class  Material
 Handle class describing a material. More...
 
class  VisAttr
 Handle class describing visualization attributes. More...
 
class  AlignmentEntry
 Deprecated: Handle class describing an alignment entry. More...
 
class  Limit
 Small object describing a limit structure acting on a particle type. More...
 
class  LimitSet
 Handle class describing a set of limits as they are used for simulation. More...
 
class  Region
 Handle class describing a region as used in simulation. More...
 
class  PolarGridRPhi
 Implementation class for the grid XZ segmentation. More...
 
class  PolarGridRPhi2
 Implementation class for the grid XZ segmentation. More...
 
class  Readout
 Handle to the implementation of the readout structure of a subdetector. More...
 
class  Segmentation
 Handle class supporting generic Segmentation of sensitive detectors. More...
 
class  Solid_type
 Base class for Solid (shape) objects. More...
 
class  Box
 Class describing a box shape. More...
 
class  HalfSpace
 Class describing half-space. More...
 
class  Polycone
 Class describing a Polycone shape. More...
 
class  ConeSegment
 Class describing a cone segment shape. More...
 
class  MyConeSeg
 Intermediate class to overcome drawing probles with the TGeoTubeSeg. More...
 
class  Tube
 Class describing a tube shape of a section of a tube. More...
 
class  EllipticalTube
 Class describing a elliptical tube shape of a section of a tube. More...
 
class  Cone
 Class describing a cone shape. More...
 
class  Trap
 Class describing a trap shape. More...
 
class  Trapezoid
 Class describing a Trapezoid shape. More...
 
class  Torus
 Class describing a Torus shape. More...
 
class  Sphere
 Class describing a sphere shape. More...
 
class  Paraboloid
 Class describing a Paraboloid shape. More...
 
class  Hyperboloid
 Class describing a Hyperboloid shape. More...
 
class  PolyhedraRegular
 Class describing a regular polyhedron shape. More...
 
class  EightPointSolid
 Class describing an arbitray solid defined by 8 vertices. More...
 
class  BooleanSolid
 Base class describing boolean (=union,intersection,subtraction) solids. More...
 
class  SubtractionSolid
 Class describing boolean subtraction solid. More...
 
class  UnionSolid
 Class describing boolean union solid. More...
 
class  IntersectionSolid
 Class describing boolean intersection solid. More...
 
class  VolumeManager
 Class to support the retrieval of detector elements and volumes given a valid identifier. More...
 
class  PlacedVolumeExtension
 Implementation class extending the ROOT placed volume. More...
 
class  PlacedVolume
 Handle class holding a placed volume (also called physical volume) More...
 
class  VolumeExtension
 Implementation class extending the ROOT volume (TGeoVolume) More...
 
class  Volume
 Handle class holding a placed volume (also called physical volume) More...
 
class  Assembly
 Implementation class extending the ROOT assembly volumes (TGeoVolumeAsembly) More...
 
class  WaferGridXY
 Implementation class for the grid XZ segmentation. More...
 
class  World
 Handle class to hold the information of the top DetElement object 'world'. More...
 
class  SensitiveDetectorObject
 Data class with properties of sensitive detectors. More...
 
class  DetElementObject
 Data class with properties of a detector element. More...
 
class  WorldObject
 Data class with properties of a detector element. More...
 
class  HeaderObject
 Concrete object implementation for the Header handle. More...
 
class  ConstantObject
 Concrete object implementation for the Constant handle. More...
 
class  VisAttrObject
 Concrete object implementation of the VisAttr Handle. More...
 
class  RegionObject
 Concrete object implementation of the Region Handle. More...
 
class  LimitSetObject
 Concrete object implementation of the LimitSet Handle. More...
 
class  HitCollection
 Definition of the HitCollection parameters used by the Readout. More...
 
class  ReadoutObject
 Concrete object implementation of the Readout Handle. More...
 
class  IDDescriptorObject
 Concrete object implementation of the IDDescriptorObject Handle. More...
 
class  SegmentationObject
 Implementation class supporting generic Segmentation of sensitive detectors. More...
 
class  VolumeManagerContext
 This structure describes the cached data for one placement held by the volume manager. More...
 
class  VolumeManagerObject
 This structure describes the internal data of the volume manager object. More...
 

Typedefs

typedef Handle
< SegmentationWrapper
< DDSegmentation::CartesianGridXY > > 
CartesianGridXYHandle
 We need some abbreviation to make the code more readable. More...
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::CartesianGridXYZ > > 
CartesianGridXYZHandle
 We need some abbreviation to make the code more readable. More...
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::CartesianGridXZ > > 
CartesianGridXZHandle
 We need some abbreviation to make the code more readable. More...
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::CartesianGridYZ > > 
CartesianGridYZHandle
 We need some abbreviation to make the code more readable. More...
 
typedef Position Direction
 
typedef CartesianField ElectricField
 
typedef CartesianField MagneticField
 
typedef OverlayedField ElectroMagneticField
 
typedef Position XYZAngles
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::MultiSegmentation > > 
MultiSegmentationHandle
 We need some abbreviation to make the code more readable. More...
 
typedef ROOT::Math::XYZVector Position
 
typedef ROOT::Math::RotationZYX RotationZYX
 
typedef ROOT::Math::RotationZ RotationZ
 
typedef ROOT::Math::RotationY RotationY
 
typedef ROOT::Math::RotationX RotationX
 
typedef ROOT::Math::Rotation3D Rotation3D
 
typedef ROOT::Math::EulerAngles EulerAngles
 
typedef ROOT::Math::Transform3D Transform3D
 
typedef ROOT::Math::Translation3D Translation3D
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::PolarGridRPhi > > 
PolarGridRPhiHandle
 We need some abbreviation to make the code more readable. More...
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::PolarGridRPhi2 > > 
PolarGridRPhi2Handle
 We need some abbreviation to make the code more readable. More...
 
typedef Solid_type< TGeoShape > Solid
 
typedef Handle
< SegmentationWrapper
< DDSegmentation::WaferGridXY > > 
WaferGridXYHandle
 We need some abbreviation to make the code more readable. More...
 

Functions

static std::string _toString (const DD4hep::XML::XmlChar *value)
 std::string conversion of XML strings (e.g. Unicode for Xerces-C) More...
 
template<typename T >
std::string _toString (T value, const char *fmt)
 std::string conversion of arbitrary entities including user defined formatting. More...
 
template<>
std::string LCDD::constant< std::string > (const std::string &name) const
 Typed access to constants: string values. More...
 
TGeoIdentity * identityTransform ()
 Access the TGeo identity transformation More...
 
TGeoTranslation * _translation (const Geometry::Position &pos)
 Convert a Position object to a TGeoTranslation More...
 
TGeoRotation * _rotationZYX (const Geometry::RotationZYX &rot)
 Convert a RotationZYX object to a TGeoRotation More...
 
TGeoRotation * _rotation3D (const Geometry::Rotation3D &rot)
 Convert a Rotation3D object to a TGeoRotation More...
 
TGeoHMatrix * _transform (const Geometry::Transform3D &trans)
 Convert a Transform3D object to a TGeoHMatrix More...
 
TGeoHMatrix * _transform (const Geometry::Position &pos)
 Convert a Position object to a TGeoHMatrix More...
 
TGeoHMatrix * _transform (const Geometry::RotationZYX &rot)
 Convert a RotationZYX object to a TGeoHMatrix More...
 
TGeoHMatrix * _transform (const Geometry::Rotation3D &rot3D)
 Convert a Rotation3D object to a TGeoHMatrix More...
 
TGeoHMatrix * _transform (const Geometry::Position &pos, const Geometry::RotationZYX &rot)
 Convert a Position followed by a RotationZYX to a TGeoHMatrix More...
 
TGeoHMatrix & _transform (TGeoHMatrix &mat, const Geometry::Transform3D &trans)
 Set a Transform3D object to a TGeoHMatrix More...
 
TGeoHMatrix & _transform (TGeoHMatrix &mat, const Geometry::Position &pos)
 Set a Position object (translation) to a TGeoHMatrix More...
 
TGeoHMatrix & _transform (TGeoHMatrix &mat, const Geometry::RotationZYX &rot)
 Set a RotationZYX object to a TGeoHMatrix More...
 
TGeoHMatrix & _transform (TGeoHMatrix &mat, const Geometry::Rotation3D &rot3D)
 Set a Rotation3D object to a TGeoHMatrix More...
 
TGeoHMatrix & _transform (TGeoHMatrix &mat, const Geometry::Position &pos, const Geometry::RotationZYX &rot)
 Set a Position followed by a RotationZYX to a TGeoHMatrix More...
 
Geometry::Transform3D _transform (const TGeoMatrix *matrix)
 Convert a TGeoMatrix object to a generic Transform3D More...
 
void _decompose (const Geometry::Transform3D &trafo, Geometry::Position &pos, Geometry::RotationZYX &rot)
 Decompose a generic Transform3D into a translation (Position) and a RotationZYX More...
 
void _decompose (const Geometry::Transform3D &trafo, Geometry::Position &pos, XYZAngles &rot)
 Decompose a generic Transform3D into a translation (Geometry::Position) and XYZAngles More...
 
void _decompose (const Geometry::Transform3D &trafo, Geometry::Translation3D &pos, Geometry::RotationZYX &rot)
 Decompose a generic Transform3D into a translation (Translation3D) and a RotationZYX More...
 
void _decompose (const Geometry::Transform3D &trafo, Geometry::Translation3D &pos, XYZAngles &rot)
 Decompose a generic Transform3D into a translation (Translation3D) and XYZAngles More...
 
XYZAngles _XYZangles (const double *matrix)
 Convert a 3x3 rotation matrix to XYZAngles More...
 
XYZAngles _XYZangles (const TGeoMatrix *matrix)
 Convert a the rotation part of a TGeoMatrix to XYZAngles More...
 
template<class V >
RotateX (const V &v, double a)
 
template<class V >
RotateY (const V &v, double a)
 
template<class V >
RotateZ (const V &v, double a)
 
std::string toStringSolid (const TGeoShape *shape, int precision=2)
 Pretty print of solid attributes. More...
 
std::ostream & operator<< (std::ostream &os, const VolumeManager &m)
 Enable printouts for debugging. More...
 

Detailed Description

Namespace for the geometry part of the AIDA detector description toolkit.

Typedef Documentation

We need some abbreviation to make the code more readable.

Definition at line 32 of file CartesianGridXY.h.

We need some abbreviation to make the code more readable.

Definition at line 32 of file CartesianGridXYZ.h.

We need some abbreviation to make the code more readable.

Definition at line 32 of file CartesianGridXZ.h.

We need some abbreviation to make the code more readable.

Definition at line 32 of file CartesianGridYZ.h.

Definition at line 31 of file Fields.h.

Definition at line 111 of file Fields.h.

Definition at line 241 of file Fields.h.

typedef ROOT::Math::EulerAngles DD4hep::Geometry::EulerAngles

Definition at line 112 of file Fields.h.

We need some abbreviation to make the code more readable.

Definition at line 32 of file MultiSegmentation.h.

We need some abbreviation to make the code more readable.

Definition at line 31 of file PolarGridRPhi2.h.

We need some abbreviation to make the code more readable.

Definition at line 31 of file PolarGridRPhi.h.

typedef ROOT::Math::XYZVector DD4hep::Geometry::Position

Definition at line 75 of file Objects.h.

typedef ROOT::Math::Rotation3D DD4hep::Geometry::Rotation3D
typedef ROOT::Math::RotationX DD4hep::Geometry::RotationX
typedef ROOT::Math::RotationY DD4hep::Geometry::RotationY
typedef ROOT::Math::RotationZ DD4hep::Geometry::RotationZ
typedef ROOT::Math::RotationZYX DD4hep::Geometry::RotationZYX

Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle phi (yaw) about the Z axis, followed by a rotation of an angle theta (pitch) about the new Y' axis, followed by a third rotation of an angle psi (roll) about the final X'' axis. This is sometimes referred to as the Euler 321 sequence. It has not to be confused with the typical Goldstein definition of the Euler Angles (Z-X-Z or 313 sequence) which is used by the ROOT::Math::EulerAngles class.

See Also
http://root.cern.ch/root/html/ROOT__Math__RotationZYX.html

Definition at line 98 of file Objects.h.

typedef Solid_type<TGeoShape> DD4hep::Geometry::Solid

Definition at line 108 of file Shapes.h.

typedef ROOT::Math::Transform3D DD4hep::Geometry::Transform3D
typedef ROOT::Math::Translation3D DD4hep::Geometry::Translation3D

We need some abbreviation to make the code more readable.

Definition at line 31 of file WaferGridXY.h.

Definition at line 31 of file MatrixHelpers.h.

Function Documentation

static std::string DD4hep::Geometry::_toString ( const DD4hep::XML::XmlChar value)
inlinestatic
template<typename T >
std::string DD4hep::Geometry::_toString ( T  value,
const char *  fmt 
)
inline

std::string conversion of arbitrary entities including user defined formatting.

Definition at line 52 of file DetFactoryHelper.h.

References DD4hep::XML::_toString().

template<>
std::string DD4hep::Geometry::LCDD::constant< std::string > ( const std::string &  name) const
inline

Typed access to constants: string values.

Definition at line 370 of file LCDD.h.

std::ostream & DD4hep::Geometry::operator<< ( std::ostream &  os,
const VolumeManager m 
)
template<class V >
V DD4hep::Geometry::RotateX ( const V &  v,
double  a 
)

Definition at line 78 of file Objects.h.

template<class V >
V DD4hep::Geometry::RotateY ( const V &  v,
double  a 
)

Definition at line 81 of file Objects.h.

template<class V >
V DD4hep::Geometry::RotateZ ( const V &  v,
double  a 
)

Definition at line 84 of file Objects.h.

std::string DD4hep::Geometry::toStringSolid ( const TGeoShape *  shape,
int  precision = 2 
)

Pretty print of solid attributes.

Definition at line 48 of file Shapes.cpp.

References s.

Referenced by DD4hep::Geometry::Solid_type< TGeoBBox >::toString().