GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
gear::ZPlanarLayerLayoutImpl Class Reference

Abstract description of layers in a Vertex detector. More...

#include <ZPlanarLayerLayoutImpl.h>

Inheritance diagram for gear::ZPlanarLayerLayoutImpl:
gear::ZPlanarLayerLayout

Classes

struct  Layer
 Helper class for layer properties. More...
 

Public Types

typedef std::vector< LayerLayerVec
 

Public Member Functions

virtual int getNLayers () const
 The total number of layers.
 
virtual int getNLadders (int layerIndex) const
 The number of ladders in the layer layerIndex - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getPhi0 (int layerIndex) const
 Azimuthal angle of the (outward pointing) normal of the first ladder. More...
 
virtual double getLadderRadLength (int layerIndex) const
 The radiation length in the support structure ladders of layer layerIndex - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getLadderDistance (int layerIndex) const
 The distance of ladders in layer layerIndex from the IP - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getLadderThickness (int layerIndex) const
 The thickness in mm of the ladders in layerIndex - layer indexing starting at 0 for the layer closest to IP.
 
virtual double getLadderOffset (int layerIndex) const
 The offset of the ladder in mm defines the shift of the ladder in the direction of increasing phi perpendicular to the ladder's normal. More...
 
virtual double getLadderWidth (int layerIndex) const
 The width of the ladder in layer in mm for ladders in layer layerIndex - layer indexing starting at 0 from the layer closest to IP.
 
virtual double getLadderLength (int layerIndex) const
 The (half) length of the ladder in z direction in mm for ladders in layer layerIndex - layer indexing starting at 0 from the layer closest to IP. More...
 
virtual double getSensitiveRadLength (int layerIndex) const
 The radiation length in sensitive volumes in layer layerIndex - layer indexing starts at 0 for the layer closest to IP.
 
virtual double getSensitiveDistance (int layerIndex) const
 The distance of sensitive area in ladders in layer layerIndex from the IP.
 
virtual double getSensitiveThickness (int layerIndex) const
 The thickness in mm of the sensitive area in ladders in layer layerIndex.
 
virtual double getSensitiveOffset (int layerIndex) const
 Same as getLadderOffset() except for the sensitive part of the ladder. More...
 
virtual double getSensitiveWidth (int layerIndex) const
 The width of the sensitive area in ladders in layer layerIndex in mm.
 
virtual double getSensitiveLength (int layerIndex) const
 The length of the sensitive area in ladders in z direction in mm for ladders in layer layerIndex.
 
virtual void addLayer (int nLadders, double phi0, double ladderDistance, double ladderOffset, double ladderThickness, double ladderLength, double ladderWidth, double ladderRadLength, double sensitiveDistance, double sensitiveOffset, double sensitiveThickness, double sensitiveLength, double sensitiveWidth, double sensitiveRadLength)
 Add a new layer at the given positon.
 
virtual double getMaxRadius (int layerIndex, bool sensitive=false) const
 returns maximum radius for a given layer
 
virtual double getStartInnerPhi (int layerIndex, bool sensitive=false) const
 returns starting phi for first ladder in layer layerIndex (on side facing IP)
 
virtual double getEndInnerPhi (int layerIndex, bool sensitive=false) const
 returns ending phi for first ladder in layer layerIndex (on side facing IP)
 
virtual double getStartOuterPhi (int layerIndex, bool sensitive=false) const
 returns starting phi for first ladder in layer layerIndex (on side away from IP)
 
virtual double getEndOuterPhi (int layerIndex, bool sensitive=false) const
 returns ending phi for first ladder in layer layerIndex (on side away from IP)
 
virtual double getThicknessForPhi (int layerIndex, double phi, bool sensitive=false) const
 returns thickness as viewed under the angle phi only for the first ladder in layer layerIndex. More...
 
- Public Member Functions inherited from gear::ZPlanarLayerLayout
virtual ~ZPlanarLayerLayout ()
 Destructor.
 

Protected Member Functions

double getInternalPhi0 (int layerIndex) const
 

Protected Attributes

LayerVec _lVec {}
 
LayerVec _sVec {}
 

Friends

class ZPlanarParametersImpl
 

Detailed Description

Abstract description of layers in a Vertex detector.


This assumes a symmetric layout of ladders, arranged in layers equidistant to IP.
The sensitive area is assumed to be inside the ladders but can be positioned independently.

Author
R. Lippe, DESY
Version
$Id:

Definition at line 20 of file ZPlanarLayerLayoutImpl.h.

Member Function Documentation

virtual double gear::ZPlanarLayerLayoutImpl::getLadderLength ( int  layerIndex) const
inlinevirtual

The (half) length of the ladder in z direction in mm for ladders in layer layerIndex - layer indexing starting at 0 from the layer closest to IP.

Note: for historic reasons this is typically used to describe the half of the ladder in positive z, so it is the half length really.

Implements gear::ZPlanarLayerLayout.

Definition at line 94 of file ZPlanarLayerLayoutImpl.h.

virtual double gear::ZPlanarLayerLayoutImpl::getLadderOffset ( int  layerIndex) const
inlinevirtual

The offset of the ladder in mm defines the shift of the ladder in the direction of increasing phi perpendicular to the ladder's normal.

For example if the first ladder is at phi0==0 then the offset defines an upward shift of the ladder (parallel to the y-axis). Layer indexing starts at 0 for the layer closest to IP.

See Also
getPhi0
getSensitiveOffset

Implements gear::ZPlanarLayerLayout.

Definition at line 81 of file ZPlanarLayerLayoutImpl.h.

virtual double gear::ZPlanarLayerLayoutImpl::getPhi0 ( int  layerIndex) const
inlinevirtual

Azimuthal angle of the (outward pointing) normal of the first ladder.

Phi0==0 corresponds to the first ladder's normal coinciding (if offset==0) with the x-axis. The layerIndex starts at 0 for the layer closest to IP.

Implements gear::ZPlanarLayerLayout.

Definition at line 57 of file ZPlanarLayerLayoutImpl.h.

virtual double gear::ZPlanarLayerLayoutImpl::getSensitiveOffset ( int  layerIndex) const
inlinevirtual

Same as getLadderOffset() except for the sensitive part of the ladder.

See Also
getLadderOffset

Implements gear::ZPlanarLayerLayout.

Definition at line 112 of file ZPlanarLayerLayoutImpl.h.

double gear::ZPlanarLayerLayoutImpl::getThicknessForPhi ( int  layerIndex,
double  phi,
bool  sensitive = false 
) const
virtual

returns thickness as viewed under the angle phi only for the first ladder in layer layerIndex.

returns -1 if phi is not covered by ladder

Definition at line 121 of file ZPlanarLayerLayout.cc.

References getEndInnerPhi(), getEndOuterPhi(), getStartInnerPhi(), and getStartOuterPhi().


The documentation for this class was generated from the following files: