DD4hep  01.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Classes | Typedefs | Functions
dd4hep::rec Namespace Reference

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

Classes

class  CellIDPositionConverter
 Utility for position to cellID and cellID to position conversions. More...
 
class  GearHandle
 Simple wrapper class for objects of type GearParametersImpl that can be added to DetElements with the extension mechanism. More...
 
struct  StructExtension
 Wrapper class for adding structs or pods as extensions to DetElements. More...
 
struct  FixedPadSizeTPCStruct
 Simple data structure with key parameters for reconstruction of a cylindrical TPC with a pad plane that is symmetrically populated with fixed sized pads. More...
 
struct  ZPlanarStruct
 Simple data structure with key parameters for reconstruction of a planar silicon tracking detector with planes parallel to the z-axis. More...
 
struct  ZDiskPetalsStruct
 Simple data structure with key parameters for reconstruction of a silicon tracking detector with disks (roughly orthogonal to the z-axis) built from petals. More...
 
struct  ConicalSupportStruct
 Simple data structure defining a support structure built from consecutive conical sections. More...
 
struct  LayeredCalorimeterStruct
 Simple data structure defining a layered calorimeter layout for reconstruction. More...
 
struct  NeighbourSurfacesStruct
 Simple data strucuture that holds maps of ids of the nearest neighbour surfaces in the same, next and previous layers of a tracking detector. More...
 
struct  MapStringDoubleStruct
 
class  DetectorSurfaces
 View on DetElements for accessing the surfaces assigned to this DetElement in detector construction. More...
 
class  IMaterial
 Interface for material description for tracking. More...
 
class  ISurface
 Interface for tracking surfaces. More...
 
class  ICylinder
 Minimal interface to provide acces to radius of cylinder surfaces. More...
 
class  ICone
 Minimal interface to provide acces to radii of conical surfaces. More...
 
class  SurfaceType
 Helper class for describing surface properties. More...
 
class  MaterialData
 Simple data class that implements the IMaterial interface and is used in the Surface implementation. More...
 
class  MaterialManager
 Material manager provides access to the material properties of the detector. More...
 
class  MaterialScan
 Class to perform material scans along a straight line. More...
 
class  VolSurfaceBase
 Implementation of ISurface for a local surface attached to a volume. More...
 
class  VolSurface
 Reference counted handle class for a local surface attached to a volume (VolSurfaceBase). More...
 
struct  VolSurfaceList
 std::list of VolSurfaces that takes ownership. More...
 
class  VolPlaneImpl
 Implementation of a planar surface attached to a volume. More...
 
class  VolCylinderImpl
 Implementation of cylindrical surface attached to a volume. More...
 
class  VolConeImpl
 Implementation of conical surface attached to a volume. More...
 
class  VolSurfaceHandle
 Template for VolSurface specializations. More...
 
class  VolCylinder
 
class  VolCone
 
class  Surface
 Implementation of Surface class holding a local surface attached to a volume and the DetElement holding this surface. More...
 
class  CylinderSurface
 Specialization of Surface for cylinders. More...
 
class  ConeSurface
 Specialization of Surface for cones - specializes CyliderSurface (for lazyness ...) More...
 
class  SurfaceList
 std::list of Surfaces that optionally takes ownership. More...
 
class  SurfaceHelper
 Surface helper class that allows to access all surfaces assigned to a DetElement and all its daughters. More...
 
class  SurfaceManager
 Surface manager class that holds maps of surfaces for all known sensitive detector types and individual sub detectors. More...
 
class  Vector2D
 Simple 2D vector helper class; moved out of ISurface definition. More...
 
class  Vector3D
 Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coordinate systems - internal reperesentation is cartesian. More...
 

Typedefs

typedef DDSegmentation::CellID CellID
 
typedef DDSegmentation::VolumeID VolumeID
 
typedef StructExtension
< FixedPadSizeTPCStruct
FixedPadSizeTPCData
 
typedef StructExtension
< ZPlanarStruct
ZPlanarData
 
typedef StructExtension
< ZDiskPetalsStruct
ZDiskPetalsData
 
typedef StructExtension
< ConicalSupportStruct
ConicalSupportData
 
typedef StructExtension
< LayeredCalorimeterStruct
LayeredCalorimeterData
 
typedef StructExtension
< NeighbourSurfacesStruct
NeighbourSurfacesData
 
using DoubleParameters = StructExtension< MapStringDoubleStruct >
 
typedef long long int long64
 
typedef std::vector< std::pair
< Material, double > > 
MaterialVec
 
typedef std::vector< std::pair
< PlacedVolume, double > > 
PlacementVec
 
typedef VolSurfaceHandle
< VolPlaneImpl
VolPlane
 
typedef std::multimap
< unsigned long, ISurface * > 
SurfaceMap
 typedef for surface maps, keyed by the cellID More...
 

Functions

gear::GearMgr * createGearMgr (Detector &description, const std::string &pluginName="GearForILD")
 Factory method that creates a GearMgr object pobulated with the GearParametersImpl objects from all (top level) DetElements in the description object. More...
 
std::ostreamoperator<< (std::ostream &io, const FixedPadSizeTPCData &d)
 
std::ostreamoperator<< (std::ostream &io, const ZPlanarData &d)
 
std::ostreamoperator<< (std::ostream &io, const ZDiskPetalsData &d)
 
std::ostreamoperator<< (std::ostream &io, const ConicalSupportData &d)
 
std::ostreamoperator<< (std::ostream &io, const LayeredCalorimeterData &d)
 
std::ostreamoperator<< (std::ostream &io, const NeighbourSurfacesData &d)
 
std::ostreamoperator<< (std::ostream &io, const DoubleParameters &d)
 
std::ostreamoperator<< (std::ostream &os, const IMaterial &m)
 dump IMaterial operator More...
 
std::ostreamoperator<< (std::ostream &os, const SurfaceType &t)
 dump SurfaceType operator More...
 
std::ostreamoperator<< (std::ostream &os, const ISurface &s)
 dump ISurface operator More...
 
std::ostreamoperator<< (std::ostream &os, const Material &m)
 dump Material operator More...
 
std::ostreamoperator<< (std::ostream &os, const MaterialVec &m)
 dump MaterialVec operator More...
 
VolSurfaceListvolSurfaceList (DetElement &det)
 Helper function for accessing the list assigned to a DetElement - attaches empty list if needed. More...
 
Vector3D operator+ (const Vector3D &a, const Vector3D &b)
 Addition of two vectors. More...
 
Vector3D operator- (const Vector3D &a, const Vector3D &b)
 Subtraction of two vectors. More...
 
bool operator== (const Vector3D &a, const Vector3D &b)
 Exact comparison of two vectors. More...
 
Vector3D operator* (double s, const Vector3D &v)
 Multiplication with scalar. More...
 
Vector3D operator- (const Vector3D &v)
 Negative vector. More...
 
double operator* (const Vector3D &v0, const Vector3D &v1)
 operator for scalar product More...
 
std::ostreamoperator<< (std::ostream &os, const Vector3D &v)
 Output operator. More...
 
static long createGearForCLIC (Detector &description, int, char **)
 Plugin that creates Gear objects for DetElements and attaches them as extensions. More...
 
static long createGearForILD (Detector &description, int, char **)
 Plugin that creates Gear objects for DetElements and attaches them as extensions. More...
 
static long createGearForSiD (Detector &description, int, char **)
 Plugin that creates Gear objects for DetElements and attaches them as extensions. More...
 
static long createSurfaceManager (Detector &description, int, char **)
 
bool findVolume (PlacedVolume pv, Volume theVol, std::list< PlacedVolume > &volList)
 

Detailed Description

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

Typedef Documentation

typedef DDSegmentation::CellID dd4hep::rec::CellID

Definition at line 29 of file CellIDPositionConverter.h.

Definition at line 343 of file DetectorData.h.

Definition at line 503 of file DetectorData.h.

Definition at line 88 of file DetectorData.h.

Definition at line 470 of file DetectorData.h.

typedef long long int dd4hep::rec::long64

Definition at line 26 of file ISurface.h.

typedef std::vector< std::pair< Material, double > > dd4hep::rec::MaterialVec

Definition at line 30 of file MaterialManager.h.

Definition at line 496 of file DetectorData.h.

typedef std::vector< std::pair< PlacedVolume, double > > dd4hep::rec::PlacementVec

Definition at line 31 of file MaterialManager.h.

typedef std::multimap< unsigned long, ISurface*> dd4hep::rec::SurfaceMap

typedef for surface maps, keyed by the cellID

Definition at line 25 of file SurfaceManager.h.

Definition at line 474 of file Surface.h.

typedef DDSegmentation::VolumeID dd4hep::rec::VolumeID

Definition at line 30 of file CellIDPositionConverter.h.

Definition at line 300 of file DetectorData.h.

Definition at line 182 of file DetectorData.h.

Function Documentation

static long dd4hep::rec::createGearForCLIC ( Detector &  description,
int  ,
char **   
)
static

Plugin that creates Gear objects for DetElements and attaches them as extensions.

Called from DDGear::createGearMgr(). NB: this code is for backward compatibility to run the old reconstruction that expects Gear information and should eventually be phased out.

Author
F.Gaede, CERN/DESY
Date
Oct 2014
Version
$Id$

Definition at line 47 of file createGearForCLIC.cpp.

References dd4hep::rec::GearHandle::addMaterial(), std::map< K, T >::begin(), std::map< K, T >::end(), std::endl(), std::vector< T >::push_back(), and std::runtime_error::what().

static long dd4hep::rec::createGearForILD ( Detector &  description,
int  ,
char **   
)
static
static long dd4hep::rec::createGearForSiD ( Detector &  description,
int  ,
char **   
)
static

Plugin that creates Gear objects for DetElements and attaches them as extensions.

Called from DDGear::createGearMgr(). NB: this code is for backward compatibility to run the old reconstruction that expects Gear information and should eventually be phased out.

Author
F.Gaede, CERN/DESY
Date
Oct 2014
Version
$Id$

Minimal plugin for SiD solely to be used with LCCalibration adapted from the ILD and CLIC plugins

Author
D.Protopopescu, Glasgow
Date
Nov 2017

Definition at line 53 of file createGearForSiD.cpp.

References std::map< K, T >::begin(), std::map< K, T >::end(), std::endl(), and std::runtime_error::what().

gear::GearMgr * dd4hep::rec::createGearMgr ( Detector &  description,
const std::string pluginName = "GearForILD" 
)

Factory method that creates a GearMgr object pobulated with the GearParametersImpl objects from all (top level) DetElements in the description object.

Author
F.Gaede, DESY
Version
$Id$

register any materials assigned to the handle:

register any materials assigned to the handle:

Definition at line 39 of file DDGear.cpp.

References std::string::c_str(), std::endl(), dd4hep::rec::GearHandle::materials(), dd4hep::rec::GearHandle::name(), std::vector< T >::push_back(), std::vector< T >::reserve(), std::vector< T >::size(), and dd4hep::rec::GearHandle::takeGearObject().

Referenced by main().

static long dd4hep::rec::createSurfaceManager ( Detector &  description,
int  ,
char **   
)
static
Author
F.Gaede, CERN/DESY
Date
May, 11 2015
Version
Id:

Definition at line 40 of file createSurfaceManager.cpp.

References std::string::c_str(), and dd4hep::rec::SurfaceManager::toString().

bool dd4hep::rec::findVolume ( PlacedVolume  pv,
Volume  theVol,
std::list< PlacedVolume > &  volList 
)
Vector3D dd4hep::rec::operator* ( double  s,
const Vector3D &  v 
)
inline

Multiplication with scalar.

Definition at line 303 of file Vector3D.h.

References dd4hep::rec::Vector3D::x(), dd4hep::rec::Vector3D::y(), and dd4hep::rec::Vector3D::z().

double dd4hep::rec::operator* ( const Vector3D &  v0,
const Vector3D &  v1 
)
inline

operator for scalar product

Definition at line 315 of file Vector3D.h.

References dd4hep::rec::Vector3D::dot().

Vector3D dd4hep::rec::operator+ ( const Vector3D &  a,
const Vector3D &  b 
)
inline

Addition of two vectors.

Definition at line 284 of file Vector3D.h.

References dd4hep::rec::Vector3D::x(), dd4hep::rec::Vector3D::y(), and dd4hep::rec::Vector3D::z().

Vector3D dd4hep::rec::operator- ( const Vector3D &  a,
const Vector3D &  b 
)
inline

Subtraction of two vectors.

Definition at line 289 of file Vector3D.h.

References dd4hep::rec::Vector3D::x(), dd4hep::rec::Vector3D::y(), and dd4hep::rec::Vector3D::z().

Vector3D dd4hep::rec::operator- ( const Vector3D &  v)
inline

Negative vector.

Definition at line 309 of file Vector3D.h.

References dd4hep::rec::Vector3D::x(), dd4hep::rec::Vector3D::y(), and dd4hep::rec::Vector3D::z().

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const IMaterial &  m 
)
inline
std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const FixedPadSizeTPCData &  d 
)

Definition at line 21 of file DetectorData.cpp.

References std::endl(), and std::scientific().

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const Material &  m 
)
inline

dump Material operator

Definition at line 95 of file MaterialManager.h.

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const MaterialVec &  m 
)
inline

dump MaterialVec operator

Definition at line 103 of file MaterialManager.h.

References std::endl(), and std::vector< T >::size().

std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const ZPlanarData &  d 
)

Definition at line 44 of file DetectorData.cpp.

References std::endl(), std::scientific(), and std::vector< T >::size().

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const SurfaceType &  t 
)
inline
std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const ZDiskPetalsData &  d 
)

Definition at line 88 of file DetectorData.cpp.

References std::endl(), std::scientific(), and std::vector< T >::size().

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const ISurface &  s 
)
inline
std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const ConicalSupportData &  d 
)

Definition at line 137 of file DetectorData.cpp.

References std::endl(), std::scientific(), and std::vector< T >::size().

std::ostream& dd4hep::rec::operator<< ( std::ostream os,
const Vector3D &  v 
)
inline
std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const LayeredCalorimeterData &  d 
)
std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const NeighbourSurfacesData &  d 
)

Definition at line 207 of file DetectorData.cpp.

References std::endl(), and std::scientific().

std::ostream & dd4hep::rec::operator<< ( std::ostream io,
const DoubleParameters &  d 
)

Definition at line 216 of file DetectorData.cpp.

References std::endl(), std::scientific(), and std::setw().

bool dd4hep::rec::operator== ( const Vector3D &  a,
const Vector3D &  b 
)
inline

Exact comparison of two vectors.

Definition at line 294 of file Vector3D.h.

References dd4hep::rec::Vector3D::x(), dd4hep::rec::Vector3D::y(), and dd4hep::rec::Vector3D::z().

VolSurfaceList * dd4hep::rec::volSurfaceList ( DetElement det)

Helper function for accessing the list assigned to a DetElement - attaches empty list if needed.

Definition at line 528 of file Surface.cpp.

Referenced by dd4hep::rec::DetectorSurfaces::initialize(), and dd4hep::rec::VolSurfaceList::VolSurfaceList().