All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
sistrip::SiStripGeomFTD Class Reference

#include <SiStripGeomFTD.h>

Inheritance diagram for sistrip::SiStripGeomFTD:
[legend]

Public Member Functions

 SiStripGeomFTD (const std::string &, const double &pitchFront, const double &pitchRear)
 Constructor. More...
 
virtual ~SiStripGeomFTD ()
 Destructor. More...
 
virtual void initGearParams ()
 Method initializing class - reads Gear parameters from XML file. More...
 
virtual int cellID0withSensor0 (const int &cellID0) const
 Returns the input cellID0 where the field sensor is put to 0. More...
 
virtual std::map< std::string,
int > 
decodeCellID (const UTIL::BitField64 &cellID) const
 Method to extract codification ID,. More...
 
virtual std::map< std::string,
int > 
decodeCellID (const int &cellID) const
 
virtual std::pair< StripType, int > decodeStripID (const int &encodedStripID) const
 Method to extract strip and strip type (cellID1) More...
 
virtual std::pair< StripType, int > decodeStripID (const UTIL::BitField64 &cellEnc) const
 
virtual void updateCanonicalCellID (const int &cellID, const int &stripType, const int &stripID, UTIL::BitField64 *bf)
 Stores the cellID0 and cellID1 of the LCIO object to the file. More...
 
virtual CLHEP::Hep3Vector transformPointToLocal (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &point)
 Transform given point from global ref. system to local ref. system (sensor) More...
 
virtual CLHEP::Hep3Vector transformVecToLocal (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &vec)
 Transform given vector from global ref. system to local ref. system (sensor) More...
 
virtual CLHEP::HepMatrix transformMatxToLocal (short int layerID, short int ladderID, const CLHEP::HepMatrix &matrix)
 Transform given matrix from global ref. system to local ref. system (sensor) More...
 
virtual CLHEP::Hep3Vector transformPointToGlobal (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &point)
 Transform given point from local ref. system (sensor) to global ref. system. More...
 
virtual CLHEP::Hep3Vector transformVecToGlobal (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &vec)
 Transform given vector from local ref. system (sensor) to global ref. system. More...
 
virtual CLHEP::HepMatrix transformMatxToGlobal (short int layerID, short int ladderID, const CLHEP::HepMatrix &matrix)
 Transform given diagonal matrix from local ref. system (sensor) to global ref. system. More...
 
virtual bool isPointInsideSensor (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &point) const
 Get info whether the given point is inside of Si sensor. More...
 
virtual bool isPointOutOfSensor (short int layerID, const CLHEP::Hep3Vector &point) const
 Get info whether the given point is out of Si sensor (parameters: layerID, space point in local ref. More...
 
virtual double getSensorPitch (const int &diskID, const int &sensorID, const double &posZ) const
 Get sensor pitch for strips in the local ref. More...
 
virtual double getStripPosY (const int &diskID, const int &sensorID, const int &stripID, const double &posZ) const
 Get Y-centered position in the local ref. system for the stripID. More...
 
virtual int getSensorNStrips (const int &diskID, const int &sensorID) const
 Get number of strips per sensor. More...
 
virtual CLHEP::Hep3Vector transformPointToRotatedLocal (const int &diskID, const int &sensorID, const CLHEP::Hep3Vector &point) const
 Transforming a given point to the local ref. More...
 
virtual CLHEP::Hep3Vector transformPointFromRotatedLocal (const int &diskID, const int &sensorID, const CLHEP::Hep3Vector &point) const
 Transforming a given point from the reference system rotated around the center of a petal to its local ref. More...
 
virtual CLHEP::Hep3Vector getStripUnitVector (const int &diskID, const int &sensorID, const int &stripID) const
 Get director vector of a strip (inside the local Ref. More...
 
virtual CLHEP::Hep3Vector getCrossLinePoint (const int &diskID, const int &sensorID, const int &stripIDFront, const int &stripIDRear) const
 Get the point which crosses two strips. More...
 
virtual int getStripID (const int &diskID, const int &sensorID, const double &posRPhi, const double &posZ) const
 Get strip ID (in Phi), points are given in local ref. More...
 
virtual double getLadderTheta (short int diskID) const
 Method impossed by consistent with the mother class. More...
 
virtual void printGearParams () const
 Method printing general Gear parameters. More...
 
virtual void printSensorParams (short int layerID) const
 Method printing sensor Gear parameters. More...
 
- Public Member Functions inherited from sistrip::SiStripGeom
 SiStripGeom (const std::string &detector)
 Constructor. More...
 
virtual ~SiStripGeom ()
 Destructor. More...
 
virtual double getBx ()
 Pure virtual method, PROVISIONAL. More...
 
virtual double getBy ()
 Get magnetic field - y. More...
 
virtual double getBz ()
 Get magnetic field - z. More...
 
virtual CLHEP::Hep3Vector get3MagField ()
 Get magnetic field - Three vector. More...
 
virtual std::string getGearType ()
 Get gear type. More...
 
virtual int encodeStripID (StripType type, int stripID) const
 Encode stripID. More...
 
virtual short int getNLayers () const
 Get number of layers. More...
 
virtual int getLayerRealID (short int layerID) const
 Get layer real ID. More...
 
virtual short int getLayerIDCTypeNo (int realLayerID) const
 Transform real layer ID to C-type numbering 0 - n ... More...
 
virtual short int getLayerType (short int layerID) const
 Get layer type. More...
 
virtual double getLayerRadius (short int layerID) const
 Get layer radius. More...
 
virtual double getLayerHalfPhi (const int &layerID) const
 Get layer semiangle. More...
 
virtual double getLayerPhi0 (short int layerID) const
 Get layer phi zero angle. More...
 
virtual short int getNLadders (short int layerID) const
 Get number of ladders. More...
 
virtual double getLadderThick (short int layerID) const
 Get ladder thickness. More...
 
virtual double getLadderWidth (short int layerID) const
 Get ladder width (the wider one for forward sensors) More...
 
virtual double getLadderLength (short int layerID) const
 Get ladder length. More...
 
virtual double getLadderOffsetY (short int layerID) const
 Get ladder offset in Y. More...
 
virtual double getLadderOffsetZ (short int layerID) const
 Get ladder offset in Z. More...
 
virtual double getLadderPhi (short int layerID, short int ladderID) const
 Get ladder rotation - phi angle. More...
 
virtual short int getNSensors (short int layerID) const
 Get number of sensors for given ladder. More...
 
virtual double getSensorThick (short int layerID) const
 Get sensor thickness. More...
 
virtual double getSensorWidthMax (short int layerID) const
 Get sensor width (the wider one for forward-type sensors) More...
 
virtual double getSensorWidthMin (short int layerID) const
 Get sensor width 2 (the narrower one for forward-type sensors) More...
 
virtual double getSensorLength (short int layerID) const
 Get sensor length. More...
 
virtual double getSensorGapInBetween (short int layerID) const
 Get gap size inbetween sensors. More...
 
virtual double getSensorRimWidthInZ (short int layerID) const
 Get width of sensor rim in Z (passive part of silicon) More...
 
virtual double getSensorRimWidthInRPhi (short int layerID) const
 Get width of sensor rim in R-Phi (passive part of silicon) More...
 

Private Member Functions

double getLadderOffsetX (const short int &layerID) const
 
double getStereoAngle (const int &diskID, const int &sensorID) const
 Get the stereo angle of the strips. More...
 

Private Attributes

gear::FTDParameters * _ftdParams
 
gear::FTDLayerLayout * _ftdLayer
 
double _pitchFront
 
double _pitchRear
 
std::vector< double > _layerOuterRadius
 
std::vector< double > _layerPetalOpAngle
 
std::vector< double > _ladderZOffsetSign0
 

Additional Inherited Members

- Protected Attributes inherited from sistrip::SiStripGeom
std::string _gearType
 
CLHEP::Hep3Vector _magField
 
short int _numberOfLayers
 
std::vector< double > _layerHalfPhi
 
std::vector< double > _layerThickness
 
std::vector< double > _layerHalfThickness
 
std::vector< double > _layerRadius
 
std::vector< double > _layerZ
 
std::vector< int > _layerRealID
 
std::vector< int > _layerType
 
std::vector< double > _layerPhi0
 
std::vector< double > _layerTheta
 
std::vector< int > _numberOfLadders
 
std::vector< int > _laddersInLayer
 
std::vector< double > _layerLadderLength
 
std::vector< double > _layerLadderWidth
 
std::vector< double > _layerLadderHalfWidth
 
std::vector< double > _layerActiveSiOffset
 
std::vector< double > _layerLadderGap
 
std::vector< double > _layerPhiOffset
 
std::vector< double > _ladderThick
 
std::vector< double > _ladderWidth
 
std::vector< double > _ladderLength
 
std::vector< double > _ladderOffsetY
 
std::vector< double > _ladderOffsetZ
 
std::vector< int > _numberOfSensors
 
std::vector< int > _sensorNStripsInFront
 
std::vector< int > _sensorNStripsInRear
 
std::vector< double > _sensorPitchInFront
 
std::vector< double > _sensorPitchInRear
 
std::vector< double > _sensorThick
 
std::vector< double > _sensorWidth
 
std::vector< double > _sensorWidth2
 
std::vector< double > _sensorLength
 
std::vector< double > _sensorGapInBtw
 
std::vector< double > _sensorRimWidthInZ
 
std::vector< double > _sensorRimWidthInRPhi
 

Detailed Description

Definition at line 48 of file SiStripGeomFTD.h.

Constructor & Destructor Documentation

sistrip::SiStripGeomFTD::SiStripGeomFTD ( const std::string &  detector,
const double &  pitchFront,
const double &  pitchRear 
)

Constructor.

Definition at line 37 of file SiStripGeomFTD.cc.

sistrip::SiStripGeomFTD::~SiStripGeomFTD ( )
virtual

Destructor.

Definition at line 51 of file SiStripGeomFTD.cc.

Member Function Documentation

int sistrip::SiStripGeomFTD::cellID0withSensor0 ( const int &  cellID0) const
virtual

Returns the input cellID0 where the field sensor is put to 0.

Implements sistrip::SiStripGeom.

Definition at line 218 of file SiStripGeomFTD.cc.

std::map< std::string, int > sistrip::SiStripGeomFTD::decodeCellID ( const UTIL::BitField64 &  cellID) const
virtual

Method to extract codification ID,.

Implements sistrip::SiStripGeom.

Definition at line 283 of file SiStripGeomFTD.cc.

std::map< std::string, int > sistrip::SiStripGeomFTD::decodeCellID ( const int &  cellID) const
virtual

Implements sistrip::SiStripGeom.

Definition at line 267 of file SiStripGeomFTD.cc.

std::pair< StripType, int > sistrip::SiStripGeomFTD::decodeStripID ( const int &  encodedStripID) const
virtual

Method to extract strip and strip type (cellID1)

Implements sistrip::SiStripGeom.

Definition at line 230 of file SiStripGeomFTD.cc.

std::pair< StripType, int > sistrip::SiStripGeomFTD::decodeStripID ( const UTIL::BitField64 &  cellEnc) const
virtual

Implements sistrip::SiStripGeom.

Definition at line 243 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::getCrossLinePoint ( const int &  diskID,
const int &  sensorID,
const int &  stripIDFront,
const int &  stripIDRear 
) const
virtual

Get the point which crosses two strips.

Implements sistrip::SiStripGeom.

Definition at line 893 of file SiStripGeomFTD.cc.

double sistrip::SiStripGeomFTD::getLadderOffsetX ( const short int &  layerID) const
private

Definition at line 318 of file SiStripGeomFTD.cc.

virtual double sistrip::SiStripGeomFTD::getLadderTheta ( short int  diskID) const
inlinevirtual

Method impossed by consistent with the mother class.

The FTD sensors are all perpendicular to the beam axis

Implements sistrip::SiStripGeom.

Definition at line 164 of file SiStripGeomFTD.h.

int sistrip::SiStripGeomFTD::getSensorNStrips ( const int &  diskID,
const int &  sensorID 
) const
virtual

Get number of strips per sensor.

Implements sistrip::SiStripGeom.

Definition at line 790 of file SiStripGeomFTD.cc.

double sistrip::SiStripGeomFTD::getSensorPitch ( const int &  diskID,
const int &  sensorID,
const double &  posZ 
) const
virtual

Get sensor pitch for strips in the local ref.

system. Currently it means the faced to IP sensors of the petals.

Implements sistrip::SiStripGeom.

Definition at line 1049 of file SiStripGeomFTD.cc.

double sistrip::SiStripGeomFTD::getStereoAngle ( const int &  diskID,
const int &  sensorID 
) const
private

Get the stereo angle of the strips.

Definition at line 921 of file SiStripGeomFTD.cc.

int sistrip::SiStripGeomFTD::getStripID ( const int &  diskID,
const int &  sensorID,
const double &  posRPhi,
const double &  posZ 
) const
virtual

Get strip ID (in Phi), points are given in local ref.

system; strips are considered to be perpendicular to beam axis. It is perpedicular to the RPhi LRF and paralel to the z-axis of the LRF. Recall that the number of strips in the RPhi LRF plane is dependent of Z (in LRF) due to the trapezoid shape of the sensors. That sensor are the faced to IP on each petal (in the current design)

Implements sistrip::SiStripGeom.

Definition at line 941 of file SiStripGeomFTD.cc.

double sistrip::SiStripGeomFTD::getStripPosY ( const int &  diskID,
const int &  sensorID,
const int &  stripID,
const double &  posZ 
) const
virtual

Get Y-centered position in the local ref. system for the stripID.

Implements sistrip::SiStripGeom.

Definition at line 1083 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::getStripUnitVector ( const int &  diskID,
const int &  sensorID,
const int &  stripID 
) const
virtual

Get director vector of a strip (inside the local Ref.

system) The vector is defined to describe the strip from z_local=0

Implements sistrip::SiStripGeom.

Definition at line 873 of file SiStripGeomFTD.cc.

void sistrip::SiStripGeomFTD::initGearParams ( )
virtual

Method initializing class - reads Gear parameters from XML file.

Implements sistrip::SiStripGeom.

Definition at line 57 of file SiStripGeomFTD.cc.

bool sistrip::SiStripGeomFTD::isPointInsideSensor ( short int  layerID,
short int  ladderID,
short int  sensorID,
const CLHEP::Hep3Vector &  point 
) const
virtual

Get info whether the given point is inside of Si sensor.

Implements sistrip::SiStripGeom.

Definition at line 707 of file SiStripGeomFTD.cc.

bool sistrip::SiStripGeomFTD::isPointOutOfSensor ( short int  layerID,
const CLHEP::Hep3Vector &  point 
) const
virtual

Get info whether the given point is out of Si sensor (parameters: layerID, space point in local ref.

system)

Implements sistrip::SiStripGeom.

Definition at line 758 of file SiStripGeomFTD.cc.

void sistrip::SiStripGeomFTD::printGearParams ( ) const
virtual

Method printing general Gear parameters.

Implements sistrip::SiStripGeom.

Definition at line 1209 of file SiStripGeomFTD.cc.

void sistrip::SiStripGeomFTD::printSensorParams ( short int  layerID) const
virtual

Method printing sensor Gear parameters.

Implements sistrip::SiStripGeom.

Definition at line 1262 of file SiStripGeomFTD.cc.

CLHEP::HepMatrix sistrip::SiStripGeomFTD::transformMatxToGlobal ( short int  layerID,
short int  ladderID,
const CLHEP::HepMatrix &  matrix 
)
virtual

Transform given diagonal matrix from local ref. system (sensor) to global ref. system.

Implements sistrip::SiStripGeom.

Definition at line 650 of file SiStripGeomFTD.cc.

CLHEP::HepMatrix sistrip::SiStripGeomFTD::transformMatxToLocal ( short int  layerID,
short int  ladderID,
const CLHEP::HepMatrix &  matrix 
)
virtual

Transform given matrix from global ref. system to local ref. system (sensor)

Implements sistrip::SiStripGeom.

Definition at line 477 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformPointFromRotatedLocal ( const int &  diskID,
const int &  sensorID,
const CLHEP::Hep3Vector &  point 
) const
virtual

Transforming a given point from the reference system rotated around the center of a petal to its local ref.

frame (inverse of transformPointToRotatedLocal)

Implements sistrip::SiStripGeom.

Definition at line 1175 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformPointToGlobal ( short int  layerID,
short int  ladderID,
short int  sensorID,
const CLHEP::Hep3Vector &  point 
)
virtual

Transform given point from local ref. system (sensor) to global ref. system.

Implements sistrip::SiStripGeom.

Definition at line 534 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformPointToLocal ( short int  layerID,
short int  ladderID,
short int  sensorID,
const CLHEP::Hep3Vector &  point 
)
virtual

Transform given point from global ref. system to local ref. system (sensor)

Implements sistrip::SiStripGeom.

Definition at line 361 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformPointToRotatedLocal ( const int &  diskID,
const int &  sensorID,
const CLHEP::Hep3Vector &  point 
) const
virtual

Transforming a given point to the local ref.

frame of a petal which is rotated around its center an angle stAngle

Implements sistrip::SiStripGeom.

Definition at line 1135 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformVecToGlobal ( short int  layerID,
short int  ladderID,
short int  sensorID,
const CLHEP::Hep3Vector &  vec 
)
virtual

Transform given vector from local ref. system (sensor) to global ref. system.

Implements sistrip::SiStripGeom.

Definition at line 618 of file SiStripGeomFTD.cc.

CLHEP::Hep3Vector sistrip::SiStripGeomFTD::transformVecToLocal ( short int  layerID,
short int  ladderID,
short int  sensorID,
const CLHEP::Hep3Vector &  vec 
)
virtual

Transform given vector from global ref. system to local ref. system (sensor)

Implements sistrip::SiStripGeom.

Definition at line 446 of file SiStripGeomFTD.cc.

void sistrip::SiStripGeomFTD::updateCanonicalCellID ( const int &  cellID,
const int &  stripType,
const int &  stripID,
UTIL::BitField64 *  bf 
)
virtual

Stores the cellID0 and cellID1 of the LCIO object to the file.

Implements sistrip::SiStripGeom.

Definition at line 195 of file SiStripGeomFTD.cc.

Member Data Documentation

gear::FTDLayerLayout* sistrip::SiStripGeomFTD::_ftdLayer
private

Definition at line 176 of file SiStripGeomFTD.h.

gear::FTDParameters* sistrip::SiStripGeomFTD::_ftdParams
private

Definition at line 175 of file SiStripGeomFTD.h.

std::vector<double> sistrip::SiStripGeomFTD::_ladderZOffsetSign0
private

Definition at line 191 of file SiStripGeomFTD.h.

std::vector<double> sistrip::SiStripGeomFTD::_layerOuterRadius
private

Definition at line 189 of file SiStripGeomFTD.h.

std::vector<double> sistrip::SiStripGeomFTD::_layerPetalOpAngle
private

Definition at line 190 of file SiStripGeomFTD.h.

double sistrip::SiStripGeomFTD::_pitchFront
private

Definition at line 182 of file SiStripGeomFTD.h.

double sistrip::SiStripGeomFTD::_pitchRear
private

Definition at line 183 of file SiStripGeomFTD.h.


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