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

Abstract description of layers in pixel beam telescope. More...

#include <SiPlanesLayerLayoutImpl.h>

Inheritance diagram for gear::SiPlanesLayerLayoutImpl:
gear::SiPlanesLayerLayout

Classes

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

Public Types

typedef std::vector< LayerLayerVec
 
typedef std::vector< SensLayerSensLayerVec
 
typedef Layer DUT
 
typedef SensLayer SensDUT
 

Public Member Functions

virtual int getNLayers () const
 The total number of layers. More...
 
virtual int getID (int layerIndex) const
 Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source. More...
 
virtual double getLayerRadLength (int layerIndex) const
 The radiation length of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerPositionX (int layerIndex) const
 x position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerPositionY (int layerIndex) const
 y position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerPositionZ (int layerIndex) const
 z position of the center of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerRotationXY (int layerIndex) const
 rotation angles according to Euler implementation scheme (in XY plane -> around axis Z: gamma )
 
virtual double getLayerRotationZX (int layerIndex) const
 rotation angles according to Euler implmentation scheme (in ZX plane -> around axis Y: beta )
 
virtual double getLayerRotationZY (int layerIndex) const
 rotation angles according to Euler implmentation scheme (in ZY plane -> around axis X: alfa )
 
virtual double getLayerSizeX (int layerIndex) const
 Size in x direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerSizeY (int layerIndex) const
 Size in y direction of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getLayerThickness (int layerIndex) const
 Thickness of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setID (int layerIndex, int value)
 
virtual void setLayerPositionX (int layerIndex, double value)
 
virtual void setLayerPositionY (int layerIndex, double value)
 
virtual void setLayerPositionZ (int layerIndex, double value)
 
virtual void setLayerRotationXY (int layerIndex, double value)
 
virtual void setLayerRotationZX (int layerIndex, double value)
 
virtual void setLayerRotationZY (int layerIndex, double value)
 
virtual void setLayerSizeX (int layerIndex, double value)
 
virtual void setLayerSizeY (int layerIndex, double value)
 
virtual void setLayerThickness (int layerIndex, double value)
 
virtual void setLayerRadLength (int layerIndex, double value)
 
virtual int getSensitiveID (int layerIndex) const
 ID of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source. More...
 
virtual double getSensitivePositionX (int layerIndex) const
 x position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitivePositionY (int layerIndex) const
 y position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitivePositionZ (int layerIndex) const
 z position of the center of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRotationXY (int layerIndex) const
 rotation angles according to Euler implementation scheme (in XY plane -> around axis Z: gamma )
 
virtual double getSensitiveRotationZX (int layerIndex) const
 rotation angles according to Euler implmentation scheme (in ZX plane -> around axis Y: beta )
 
virtual double getSensitiveRotationZY (int layerIndex) const
 rotation angles according to Euler implmentation scheme (in ZY plane -> around axis X: alfa )
 
virtual double getSensitiveSizeX (int layerIndex) const
 Size in x direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveSizeY (int layerIndex) const
 Size in y direction of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveThickness (int layerIndex) const
 Thickness of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRadLength (int layerIndex) const
 The radiation length of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveID (int layerIndex, int value)
 
virtual void setSensitivePositionX (int layerIndex, double value)
 
virtual void setSensitivePositionY (int layerIndex, double value)
 
virtual void setSensitivePositionZ (int layerIndex, double value)
 
virtual void setSensitiveRotationXY (int layerIndex, double value)
 
virtual void setSensitiveRotationZX (int layerIndex, double value)
 
virtual void setSensitiveRotationZY (int layerIndex, double value)
 
virtual void setSensitiveSizeX (int layerIndex, double value)
 
virtual void setSensitiveSizeY (int layerIndex, double value)
 
virtual void setSensitiveThickness (int layerIndex, double value)
 
virtual void setSensitiveRadLength (int layerIndex, double value)
 
virtual int getSensitiveNpixelX (int layerIndex) const
 Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual int getSensitiveNpixelY (int layerIndex) const
 Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveResolution (int layerIndex) const
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveResolutionX (int layerIndex) const
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveResolutionY (int layerIndex) const
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitivePitchX (int layerIndex) const
 Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitivePitchY (int layerIndex) const
 Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRotation1 (int layerIndex) const
 First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRotation2 (int layerIndex) const
 Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRotation3 (int layerIndex) const
 Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual double getSensitiveRotation4 (int layerIndex) const
 Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveNpixelX (int layerIndex, int value)
 Number of pixels in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveNpixelY (int layerIndex, int value)
 Number of pixels in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveResolution (int layerIndex, double value)
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveResolutionX (int layerIndex, double value)
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveResolutionY (int layerIndex, double value)
 Intrinsic resolution of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitivePitchX (int layerIndex, double value)
 Pitch size in x direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitivePitchY (int layerIndex, double value)
 Pitch size in y direction in sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveRotation1 (int layerIndex, double value)
 First element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveRotation2 (int layerIndex, double value)
 Second element (-sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveRotation3 (int layerIndex, double value)
 Third element (sin(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void setSensitiveRotation4 (int layerIndex, double value)
 Fourth element (cos(theta)) of rotation matrix of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.
 
virtual void addLayer (int layerID, double layerPositionX, double layerPositionY, double layerPositionZ, double layerRotationXY, double layerRotationZX, double layerRotationZY, double layerSizeX, double layerSizeY, double layerThickness, double layerRadLength, int sensitiveID, double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ, double sensitiveRotationXY, double sensitiveRotationZX, double sensitiveRotationZY, double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness, int sensitiveNpixelX, int sensitiveNpixelY, double sensitivePitchX, double sensitivePitchY, double sensitiveResolution, double sensitiveResolutionX, double sensitiveResolutionY, double Rotation1, double Rotation2, double Rotation3, double Rotation4, double sensitiveRadLength)
 Add a new layer at the given position.
 
virtual void addLayer (int layerID, double layerPositionX, double layerPositionY, double layerPositionZ, double layerSizeX, double layerSizeY, double layerThickness, double layerRadLength, int sensitiveID, double sensitivePositionX, double sensitivePositionY, double sensitivePositionZ, double sensitiveSizeX, double sensitiveSizeY, double sensitiveThickness, int sensitiveNpixelX, int sensitiveNpixelY, double sensitivePitchX, double sensitivePitchY, double sensitiveResolution, double Rotation1, double Rotation2, double Rotation3, double Rotation4, double sensitiveRadLength)
 
virtual int getDUTID () const
 ID of nonsensitive volume of the DUT. More...
 
virtual double getDUTRadLength () const
 The radiation length of nonsensitive volume of the DUT.
 
virtual double getDUTPositionX () const
 x position of the center of nonsensitive volume of the DUT. More...
 
virtual double getDUTPositionY () const
 y position of the center of nonsensitive volume of the DUT. More...
 
virtual double getDUTPositionZ () const
 z position of the center of nonsensitive volume of the DUT. More...
 
virtual double getDUTSizeX () const
 Size in x direction of nonsensitive volume of the DUT. More...
 
virtual double getDUTSizeY () const
 Size in y direction of nonsensitive volume of the DUT. More...
 
virtual double getDUTThickness () const
 Thickness of nonsensitive layer of the DUT. More...
 
virtual int getDUTSensitiveID () const
 ID of sensitive volume of the DUT. More...
 
virtual double getDUTSensitiveRadLength () const
 The radiation length of sensitive volume of the DUT.
 
virtual double getDUTSensitivePositionX () const
 x position of the center of sensitive volume of the DUT. More...
 
virtual double getDUTSensitivePositionY () const
 y position of the center of sensitive volume of the DUT. More...
 
virtual double getDUTSensitivePositionZ () const
 z position of the center of sensitive volume of the DUT. More...
 
virtual double getDUTSensitiveSizeX () const
 Size in x direction of sensitive volume of the DUT. More...
 
virtual double getDUTSensitiveSizeY () const
 Size in y direction of sensitive volume of the DUT. More...
 
virtual double getDUTSensitiveThickness () const
 Thickness of sensitive volume of the DUT. More...
 
virtual int getDUTSensitiveNpixelX () const
 Number of pixels in x direction of sensitive volume of the DUT. More...
 
virtual int getDUTSensitiveNpixelY () const
 Number of pixels in y direction of sensitive volume of the DUT. More...
 
virtual double getDUTSensitivePitchX () const
 Pitch size in x direction of sensitive volume of the DUT. More...
 
virtual double getDUTSensitivePitchY () const
 Pitch size in y direction of sensitive volume of the DUT. More...
 
virtual double getDUTSensitiveResolution () const
 Intrinsic resolution of the DUT, not relevant. More...
 
virtual double getDUTSensitiveRotation1 () const
 First element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
 
virtual double getDUTSensitiveRotation2 () const
 Second element (-sin(theta)) of rotation matrix of sensitive volume of the DUT.
 
virtual double getDUTSensitiveRotation3 () const
 Third element (sin(theta)) of rotation matrix of sensitive volume of the DUT.
 
virtual double getDUTSensitiveRotation4 () const
 Fourth element (cos(theta)) of rotation matrix of sensitive volume of the DUT.
 
virtual void addDUT (int dutID, double dutPositionX, double dutPositionY, double dutPositionZ, double dutSizeX, double dutSizeY, double dutThickness, double dutRadLength, int dutsensitiveID, double dutsensitivePositionX, double dutsensitivePositionY, double dutsensitivePositionZ, double dutsensitiveSizeX, double dutsensitiveSizeY, double dutsensitiveThickness, int dutsensitiveNpixelX, int dutsensitiveNpixelY, double dutsensitivePitchX, double dutsensitivePitchY, double dutsensitiveResolution, double dutsensitiveRotation1, double dutsensitiveRotation2, double dutsensitiveRotation3, double dutsensitiveRotation4, double dutsensitiveRadLength)
 Add a DUT at the given position.
 
- Public Member Functions inherited from gear::SiPlanesLayerLayout
virtual ~SiPlanesLayerLayout ()
 Destructor.
 

Protected Types

typedef double MyMatrix [2][2]
 

Protected Attributes

LayerVec _lVec {}
 
SensLayerVec _sVec {}
 
DUT _lDut {}
 
SensDUT _sDut {}
 

Detailed Description

Abstract description of layers in pixel beam telescope.


This assumes a number of silicon layers arranged perpendicular to the beam.

Author
T. Klimkovich, DESY
I. Rubinskiy, DESY
Version
$Id:

Definition at line 18 of file SiPlanesLayerLayoutImpl.h.

Member Function Documentation

virtual int gear::SiPlanesLayerLayoutImpl::getDUTID ( ) const
inlinevirtual

ID of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 214 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTPositionX ( ) const
inlinevirtual

x position of the center of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 218 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTPositionY ( ) const
inlinevirtual

y position of the center of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 219 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTPositionZ ( ) const
inlinevirtual

z position of the center of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 220 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getDUTSensitiveID ( ) const
inlinevirtual

ID of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 226 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getDUTSensitiveNpixelX ( ) const
inlinevirtual

Number of pixels in x direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 238 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getDUTSensitiveNpixelY ( ) const
inlinevirtual

Number of pixels in y direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 239 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitivePitchX ( ) const
inlinevirtual

Pitch size in x direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 241 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitivePitchY ( ) const
inlinevirtual

Pitch size in y direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 242 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitivePositionX ( ) const
inlinevirtual

x position of the center of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 230 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitivePositionY ( ) const
inlinevirtual

y position of the center of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 231 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitivePositionZ ( ) const
inlinevirtual

z position of the center of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 232 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitiveResolution ( ) const
inlinevirtual

Intrinsic resolution of the DUT, not relevant.

Here just for comleteness.

Implements gear::SiPlanesLayerLayout.

Definition at line 244 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitiveSizeX ( ) const
inlinevirtual

Size in x direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 234 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitiveSizeY ( ) const
inlinevirtual

Size in y direction of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 235 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSensitiveThickness ( ) const
inlinevirtual

Thickness of sensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 236 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSizeX ( ) const
inlinevirtual

Size in x direction of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 222 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTSizeY ( ) const
inlinevirtual

Size in y direction of nonsensitive volume of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 223 of file SiPlanesLayerLayoutImpl.h.

virtual double gear::SiPlanesLayerLayoutImpl::getDUTThickness ( ) const
inlinevirtual

Thickness of nonsensitive layer of the DUT.

Implements gear::SiPlanesLayerLayout.

Definition at line 224 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getID ( int  layerIndex) const
inlinevirtual

Layer ID of nonsensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.

Implements gear::SiPlanesLayerLayout.

Definition at line 82 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getNLayers ( ) const
inlinevirtual

The total number of layers.

Implements gear::SiPlanesLayerLayout.

Definition at line 80 of file SiPlanesLayerLayoutImpl.h.

virtual int gear::SiPlanesLayerLayoutImpl::getSensitiveID ( int  layerIndex) const
inlinevirtual

ID of sensitive volume of layer layerIndex - layer indexing starts at 0 for the layer closest to the beam source.

Implements gear::SiPlanesLayerLayout.

Definition at line 112 of file SiPlanesLayerLayoutImpl.h.


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