Gear geometry class - holds all geometry information about silicon strip sensors. More...
#include <SiStripGeom.h>
Public Member Functions | |
SiStripGeom (const std::string &detector) | |
Constructor. More... | |
virtual | ~SiStripGeom () |
Destructor. More... | |
virtual void | initGearParams ()=0 |
Method initializing class - reads Gear parameters from XML file Pure virtual method, have to be implemented by a concrete instance. 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 | cellID0withSensor0 (const int &cellID0) const =0 |
Returns the input cellID0 where the field sensor is put to 0. More... | |
virtual std::map< std::string, int > | decodeCellID (const UTIL::BitField64 &cellDec) const =0 |
Encode cellID. More... | |
virtual std::map< std::string, int > | decodeCellID (const int &cellDec) const =0 |
virtual int | encodeStripID (StripType type, int stripID) const |
Encode stripID. More... | |
virtual std::pair< StripType, int > | decodeStripID (const int &encStripID) const =0 |
Decode stripID. More... | |
virtual std::pair< StripType, int > | decodeStripID (const UTIL::BitField64 &cellDec) const =0 |
virtual void | updateCanonicalCellID (const int &cellID, const int &stripType, const int &stripID, UTIL::BitField64 *bf)=0 |
Stores the cellID0 and cellID1 of the LCIO object to the file. 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 double | getLadderTheta (short int layerID) const =0 |
Get ladder rotation - theta angle. More... | |
virtual short int | getNSensors (short int layerID) const |
Get number of sensors for given ladder. More... | |
virtual int | getSensorNStrips (const int &layerID, const int &sensorID) const =0 |
Get number of strips in Z axis (in each sensor) More... | |
virtual double | getSensorPitch (const int &layerID, const int &sensorID, const double &posZ) const =0 |
Get sensor pitch. 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... | |
virtual CLHEP::Hep3Vector | transformPointToLocal (short int layerID, short int ladderID, short int sensorID, const CLHEP::Hep3Vector &point)=0 |
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)=0 |
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)=0 |
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)=0 |
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)=0 |
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)=0 |
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 =0 |
Get info whether the given point is inside of Si sensor. More... | |
virtual bool | isPointOutOfSensor (short int layerID, const CLHEP::Hep3Vector &point) const =0 |
Get info whether the given point is out of Si sensor. More... | |
virtual double | getStripPosY (const int &layerID, const int &sensorID, const int &stripID, const double &posZ) const =0 |
Get strip y-position. More... | |
virtual int | getStripID (const int &layerID, const int &sensorID, const double &posRPhi, const double &posZ) const =0 |
Get strip ID. More... | |
virtual CLHEP::Hep3Vector | transformPointToRotatedLocal (const int &diskID, const int &sensorID, const CLHEP::Hep3Vector &point) const =0 |
Transforming a given point to the local ref. More... | |
virtual CLHEP::Hep3Vector | transformPointFromRotatedLocal (const int &diskID, const int &sensorID, const CLHEP::Hep3Vector &point) const =0 |
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 =0 |
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 =0 |
Get the point which crossed two strips. More... | |
virtual void | printGearParams () const =0 |
Method printing general Gear parameters. More... | |
virtual void | printSensorParams (short int layerID) const =0 |
Method printing sensor Gear parameters. More... | |
Protected Attributes | |
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 |
Gear geometry class - holds all geometry information about silicon strip sensors.
The data are taken directly from Gear xml file and values are saved in the system of units defined in PhysicalConstants.h. The local reference system is defined as follows: X-axis is perpendicular to the beam axis and to the ladder (sensor) plane; Y-axis lies in a ladder (sensor) plane and is also perpendicular to the beam axis; Z-axis is parallel to the beam axis(for zero theta); (0,0,0) point is positioned such as X, Y, Z coordinates are always positive. Strips are considered to be either perpendicular to the beam axis or parallel with the beam axis (SSDs) or both (DSSDs).
Thu Jul 14 (J. Duarte) Converted to abstract class used by the builder to construct the different subdetectors which going to use silicon strips (FTD,SIT,..)
Definition at line 59 of file SiStripGeom.h.
sistrip::SiStripGeom::SiStripGeom | ( | const std::string & | detector | ) |
Constructor.
Definition at line 31 of file SiStripGeom.cc.
|
virtual |
Destructor.
Definition at line 37 of file SiStripGeom.cc.
|
pure virtual |
Returns the input cellID0 where the field sensor is put to 0.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
|
pure virtual |
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Decode stripID.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Implemented in sistrip::SiStripGeomFTD.
|
virtual |
Encode stripID.
Definition at line 65 of file SiStripGeom.cc.
|
inlinevirtual |
Get magnetic field - Three vector.
Definition at line 83 of file SiStripGeom.h.
|
inlinevirtual |
Pure virtual method, PROVISIONAL.
Get magnetic field - x
Definition at line 77 of file SiStripGeom.h.
|
inlinevirtual |
Get magnetic field - y.
Definition at line 79 of file SiStripGeom.h.
|
inlinevirtual |
Get magnetic field - z.
Definition at line 81 of file SiStripGeom.h.
|
pure virtual |
Get the point which crossed two strips.
Implemented in sistrip::SiStripGeomFTD.
|
inlinevirtual |
Get gear type.
Definition at line 87 of file SiStripGeom.h.
|
virtual |
Get ladder length.
Definition at line 291 of file SiStripGeom.cc.
|
virtual |
Get ladder offset in Y.
Definition at line 305 of file SiStripGeom.cc.
|
virtual |
Get ladder offset in Z.
Definition at line 319 of file SiStripGeom.cc.
|
virtual |
Get ladder rotation - phi angle.
Definition at line 333 of file SiStripGeom.cc.
|
pure virtual |
Get ladder rotation - theta angle.
Implemented in sistrip::SiStripGeomFTD.
|
virtual |
Get ladder thickness.
Definition at line 256 of file SiStripGeom.cc.
|
virtual |
Get ladder width (the wider one for forward sensors)
Definition at line 277 of file SiStripGeom.cc.
|
virtual |
Get layer semiangle.
Definition at line 199 of file SiStripGeom.cc.
|
virtual |
Transform real layer ID to C-type numbering 0 - n ...
Definition at line 142 of file SiStripGeom.cc.
|
virtual |
Get layer phi zero angle.
Definition at line 218 of file SiStripGeom.cc.
|
virtual |
Get layer radius.
Definition at line 180 of file SiStripGeom.cc.
|
virtual |
Get layer real ID.
Definition at line 123 of file SiStripGeom.cc.
|
virtual |
Get layer type.
Definition at line 159 of file SiStripGeom.cc.
|
virtual |
Get number of ladders.
Definition at line 237 of file SiStripGeom.cc.
|
inlinevirtual |
Get number of layers.
Definition at line 111 of file SiStripGeom.h.
|
virtual |
Get number of sensors for given ladder.
Definition at line 361 of file SiStripGeom.cc.
|
virtual |
Get gap size inbetween sensors.
Definition at line 481 of file SiStripGeom.cc.
|
virtual |
Get sensor length.
Definition at line 467 of file SiStripGeom.cc.
|
pure virtual |
Get number of strips in Z axis (in each sensor)
Get number of strips
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Get sensor pitch.
Implemented in sistrip::SiStripGeomFTD.
|
virtual |
Get width of sensor rim in R-Phi (passive part of silicon)
Definition at line 509 of file SiStripGeom.cc.
|
virtual |
Get width of sensor rim in Z (passive part of silicon)
Definition at line 495 of file SiStripGeom.cc.
|
virtual |
Get sensor thickness.
Definition at line 421 of file SiStripGeom.cc.
|
virtual |
Get sensor width (the wider one for forward-type sensors)
Definition at line 435 of file SiStripGeom.cc.
|
virtual |
Get sensor width 2 (the narrower one for forward-type sensors)
Definition at line 452 of file SiStripGeom.cc.
|
pure virtual |
Get strip ID.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Get strip y-position.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Get director vector of a strip (inside the local Ref.
system) The vector is defined to describe the strip from z_local=0
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Method initializing class - reads Gear parameters from XML file Pure virtual method, have to be implemented by a concrete instance.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Get info whether the given point is inside of Si sensor.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Get info whether the given point is out of Si sensor.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Method printing general Gear parameters.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Method printing sensor Gear parameters.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given diagonal matrix from local ref. system (sensor) to global ref. system.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given matrix from global ref. system to local ref. system (sensor)
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transforming a given point from the reference system rotated around the center of a petal to its local ref.
frame (inverse of transformPointToRotatedLocal)
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given point from local ref. system (sensor) to global ref. system.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given point from global ref. system to local ref. system (sensor)
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transforming a given point to the local ref.
frame of a petal which is rotated around its center an angle stAngle
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given vector from local ref. system (sensor) to global ref. system.
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Transform given vector from global ref. system to local ref. system (sensor)
Implemented in sistrip::SiStripGeomFTD.
|
pure virtual |
Stores the cellID0 and cellID1 of the LCIO object to the file.
Implemented in sistrip::SiStripGeomFTD.
|
protected |
Definition at line 267 of file SiStripGeom.h.
|
protected |
Definition at line 298 of file SiStripGeom.h.
|
protected |
Definition at line 299 of file SiStripGeom.h.
|
protected |
Definition at line 300 of file SiStripGeom.h.
|
protected |
Definition at line 289 of file SiStripGeom.h.
|
protected |
Definition at line 296 of file SiStripGeom.h.
|
protected |
Definition at line 297 of file SiStripGeom.h.
|
protected |
Definition at line 293 of file SiStripGeom.h.
|
protected |
Definition at line 275 of file SiStripGeom.h.
|
protected |
Definition at line 277 of file SiStripGeom.h.
|
protected |
Definition at line 294 of file SiStripGeom.h.
|
protected |
Definition at line 292 of file SiStripGeom.h.
|
protected |
Definition at line 290 of file SiStripGeom.h.
|
protected |
Definition at line 291 of file SiStripGeom.h.
|
protected |
Definition at line 284 of file SiStripGeom.h.
|
protected |
Definition at line 295 of file SiStripGeom.h.
|
protected |
Definition at line 278 of file SiStripGeom.h.
|
protected |
Definition at line 281 of file SiStripGeom.h.
|
protected |
Definition at line 285 of file SiStripGeom.h.
|
protected |
Definition at line 276 of file SiStripGeom.h.
|
protected |
Definition at line 282 of file SiStripGeom.h.
|
protected |
Definition at line 279 of file SiStripGeom.h.
|
protected |
Definition at line 270 of file SiStripGeom.h.
|
protected |
Definition at line 288 of file SiStripGeom.h.
|
protected |
Definition at line 273 of file SiStripGeom.h.
|
protected |
Definition at line 303 of file SiStripGeom.h.
|
protected |
Definition at line 312 of file SiStripGeom.h.
|
protected |
Definition at line 311 of file SiStripGeom.h.
|
protected |
Definition at line 304 of file SiStripGeom.h.
|
protected |
Definition at line 305 of file SiStripGeom.h.
|
protected |
Definition at line 306 of file SiStripGeom.h.
|
protected |
Definition at line 307 of file SiStripGeom.h.
|
protected |
Definition at line 314 of file SiStripGeom.h.
|
protected |
Definition at line 313 of file SiStripGeom.h.
|
protected |
Definition at line 308 of file SiStripGeom.h.
|
protected |
Definition at line 309 of file SiStripGeom.h.
|
protected |
Definition at line 310 of file SiStripGeom.h.