1 #ifndef SISTRIPGEOMFTD_H
2 #define SISTRIPGEOMFTD_H 1
13 #include "gear/FTDParameters.h"
14 #include "gear/FTDLayerLayout.h"
17 #include "EVENT/SimTrackerHit.h"
18 #include "UTIL/BitField64.h"
54 const double & pitchRear);
66 virtual std::map<std::string,int>
decodeCellID(
const UTIL::BitField64 & cellID)
const;
67 virtual std::map<std::string,int>
decodeCellID(
const int & cellID)
const;
70 virtual std::pair<StripType,int>
decodeStripID(
const int & encodedStripID)
const;
71 virtual std::pair<StripType,int>
decodeStripID(
const UTIL::BitField64 & cellEnc)
const;
75 const int & stripID, UTIL::BitField64 * bf);
81 short int ladderID,
short int sensorID,
const CLHEP::Hep3Vector & point);
85 short int ladderID,
short int sensorID,
86 const CLHEP::Hep3Vector & vec);
90 short int ladderID,
const CLHEP::HepMatrix & matrix);
96 short int ladderID,
short int sensorID,
const CLHEP::Hep3Vector & point);
100 short int ladderID,
short int sensorID,
101 const CLHEP::Hep3Vector & vec);
105 short int ladderID,
const CLHEP::HepMatrix & matrix);
111 short int ladderID,
short int sensorID,
const CLHEP::Hep3Vector & point)
const;
117 virtual bool isPointOutOfSensor(
short int layerID,
const CLHEP::Hep3Vector & point)
const;
121 virtual double getSensorPitch(
const int & diskID,
const int & sensorID,
122 const double & posZ)
const;
125 virtual double getStripPosY(
const int & diskID,
const int & sensorID,
126 const int & stripID,
const double & posZ)
const;
129 virtual int getSensorNStrips(
const int & diskID,
const int & sensorID)
const;
134 const int & sensorID,
const CLHEP::Hep3Vector & point)
const;
140 const int & sensorID,
const CLHEP::Hep3Vector & point)
const;
145 const int & sensorID,
const int & stripID)
const;
149 const int & sensorID,
150 const int & stripIDFront,
const int & stripIDRear)
const;
159 virtual int getStripID(
const int & diskID,
const int & sensorID,
160 const double & posRPhi,
const double & posZ )
const;
187 double getStereoAngle(
const int & diskID,
const int & sensorID)
const;
199 #endif // SISTRIPGEOMFTD_H
virtual ~SiStripGeomFTD()
Destructor.
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...
gear::FTDLayerLayout * _ftdLayer
virtual int cellID0withSensor0(const int &cellID0) const
Returns the input cellID0 where the field sensor is put to 0.
double getLadderOffsetX(const short int &layerID) const
virtual double getLadderTheta(short int diskID) const
Method impossed by consistent with the mother class.
Gear geometry class - holds all geometry information about silicon strip sensors. ...
LayerTypeFTD
Gear geometry class - holds all geometry information about silicon strip sensors. ...
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.
virtual CLHEP::Hep3Vector getCrossLinePoint(const int &diskID, const int &sensorID, const int &stripIDFront, const int &stripIDRear) const
Get the point which crosses two strips.
virtual double getSensorPitch(const int &diskID, const int &sensorID, const double &posZ) const
Get sensor pitch for strips in the local ref.
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.
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.
virtual std::pair< StripType, int > decodeStripID(const int &encodedStripID) const
Method to extract strip and strip type (cellID1)
double getStereoAngle(const int &diskID, const int &sensorID) const
Get the stereo angle of the strips.
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.
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)
std::vector< double > _ladderZOffsetSign0
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)
virtual CLHEP::Hep3Vector transformPointToRotatedLocal(const int &diskID, const int &sensorID, const CLHEP::Hep3Vector &point) const
Transforming a given point to the local ref.
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.
SiStripGeomFTD(const std::string &, const double &pitchFront, const double &pitchRear)
Constructor.
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.
virtual void printGearParams() const
Method printing general Gear parameters.
virtual std::map< std::string, int > decodeCellID(const UTIL::BitField64 &cellID) const
Method to extract codification ID,.
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.
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 loca...
std::vector< double > _layerPetalOpAngle
gear::FTDParameters * _ftdParams
virtual void printSensorParams(short int layerID) const
Method printing sensor Gear parameters.
virtual int getSensorNStrips(const int &diskID, const int &sensorID) const
Get number of strips per sensor.
virtual void initGearParams()
Method initializing class - reads Gear parameters from XML file.
virtual CLHEP::Hep3Vector getStripUnitVector(const int &diskID, const int &sensorID, const int &stripID) const
Get director vector of a strip (inside the local Ref.
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)
std::vector< double > _layerOuterRadius