|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef PIXELGEOMODEL_GEOPIXELDETAILEDSTAVESUPPORT_H 
    6 #define PIXELGEOMODEL_GEOPIXELDETAILEDSTAVESUPPORT_H 
   10 #include "GeoModelKernel/GeoDefinitions.h" 
   11 #include "GeoModelKernel/GeoPhysVol.h" 
   20                    GeoModelIO::ReadGeoModel* sqliteReader,
 
   21                                std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
 
   22                                std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
 
   23   virtual GeoVPhysVol* 
Build() 
override;
 
   35                            double moduleThickN3D,
double moduleThickP3D, 
double moduleWidth3D) 
override;
 
   65                  std::vector<int> iExcept = std::vector<int>());
 
   66   void AddSurroundingXYMargin(
double vMarginX, 
double vMarginY, std::vector<double> &xPoint, std::vector<double>&yPoint);
 
   86   double ComputeAngle(
double ux, 
double uy, 
double vx, 
double vy);
 
  
static constexpr double m_oneDegree
double m_OmegaEndStavePointY
virtual GeoVPhysVol * getPhysVol() override
GeoPhysVol * m_endblockFlexPhysVol
double m_OmegaEndStaveThick
virtual double thicknessN() const override
virtual GeoVPhysVol * Build() override
GeoNodePtr< GeoTransform > m_endblockFlexTrf
GeoPhysVol * m_endblockAPhysVol
virtual GeoPhysVol * getEndblockEnvelopShape(int) override
GeoPhysVol * m_serviceCoolPipePhysVol
GeoPhysVol * m_endblockCPhysVol
GeoIntrusivePtr< T > GeoNodePtr
GeoNodePtr< GeoTransform > m_serviceCoolPipeTrfA
double m_endblockSrvLength
virtual int PixelNPlanarModule() const override
double ComputeDistance(GeoTrf::Vector3D p, GeoTrf::Vector3D q)
virtual double thicknessP() const override
virtual double getEndblockLength() const override
void ComputeStaveExternalShape()
double m_MidStaveSidePointX
GeoTrf::Vector3D NormalizeDir(GeoTrf::Vector3D v)
virtual const GeoTrf::Transform3D & transform() const override
virtual GeoSimplePolygonBrep * computeStaveEnvelopShape(double safetyMargin) override
double m_MidStaveSidePointY
Eigen::Affine3d Transform3D
void AddSurroundingXYMargin(double vMarginX, double vMarginY, std::vector< double > &xPoint, std::vector< double > &yPoint)
virtual GeoTransform * getEndblockEnvelopShapeTrf(int) override
void RemoveCoincidentAndColinearPointsFromShape(std::vector< double > &xPoint, std::vector< double > &yPoint)
GeoNodePtr< GeoTransform > m_serviceCoolPipeTrfC
GeoNodePtr< GeoVPhysVol > m_physVol
Eigen::Matrix< double, 3, 1 > Vector3D
GeoTrf::Vector3D IntersectionPoint(double Ax, double Ay, double Bx, double By, double Cx, double Cy, double Dx, double Dy)
GeoTrf::Vector3D NeighbourPoint_Rad(GeoTrf::Vector3D p, GeoTrf::Vector3D v, double delta)
virtual int PixelNModule() const override
virtual double getEndblockZpos() const override
virtual int PixelN3DModule() const override
double m_OmegaMidStaveThick
double m_OmegaEndStavePointX
GeoNodePtr< GeoSimplePolygonBrep > m_basicStaveEnvelopShape
GeoTrf::Transform3D m_transform
GeoNodePtr< GeoSimplePolygonBrep > m_staveEnvelopShape
GeoPixelDetailedStaveSupport(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX)
GeoTrf::Vector3D NeighbourPoint_Perp(GeoTrf::Vector3D p, GeoTrf::Vector3D v, double delta, int iDir)
virtual double getServiceZpos() const override
virtual void computeStaveEnvelopTransformAndSize(double moduleThickN, double moduleThickP, double moduleWidth, double moduleThickN3D, double moduleThickP3D, double moduleWidth3D) override
void GetSurroundingConvexShape(std::vector< double > &xPoint, std::vector< double > &yPoint, std::vector< int > iExcept=std::vector< int >())
double ComputeAngle(double ux, double uy, double vx, double vy)