|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef ALFA_GeometryReader_h
7 #define ALFA_GeometryReader_h 1
11 #include "CLHEP/Geometry/Transform3D.h"
12 #include "CLHEP/Geometry/Point3D.h"
252 HepGeom::Transform3D ComputeTransformMatrix(
const std::vector<HepGeom::Point3D<double> >& VecIdealRefPoints,
const std::vector<HepGeom::Point3D<double> >& VecRealRefPoints,
const int nPointCnt, HepGeom::Scale3D&
Scale,
bool bForceUseSVD=
false);
260 double GetPolyFitValue(
const double fInputValue,
const std::vector<double>& vecPolyFitParams);
void TransformFiberPositions(PFIBERPARAMS pFiberParams, eRPotName eRPName, const eFiberType eType, const eGeoSourceType eSourceType)
bool ResolveRPotRefPoints(const char *szvalue, eRPotName eRPName, eRefPointType eRPointType)
HepGeom::Point3D< double > DTPInAlfaCS
bool ReadFile(const eRPotName eRPName, const eFiberType eFType, const char *szFilename)
HepGeom::Point3D< double > IdealMainPointInStation
double GetUFiberCentreXPos(const eRPotName eRPName, const int nPlateID, const int nFiberID)
std::list< FIBERPARAMS > ListODFibersU1
HepGeom::Point3D< double > IdealMainPoint
std::list< FIBERPARAMS > ListVFibers
GEOMETRYCONFIGURATION m_ConfigOpts
const char * GetAStationLabel(const eAStationName eASName)
HepGeom::Point3D< double > IdealRPPin3
HepGeom::Point3D< double > DCPInAlfaCS
void SetupCurrentLVDT(const PGEOMETRYCONFIGURATION pConfig)
void SetupUserCorrections(const PGEOMETRYCONFIGURATION pConfig)
bool ReadDatabase(const eRPotName eRPName, const eFiberType eFType, const char *szDataSource)
bool GetMDFiberParams(PFIBERPARAMS pFiberParams, const eFiberType eFType, const eRPotName eRPName, const int nPlateID, const int nFiberID)
eGeoSourceType GetRPGeometryType(const eRPotName eRPName, eFiberType eFType)
eGeoSourceType eODGeometryType
bool SetIdealGeometry(const eRPotName eRPName, const eFiberType eFType)
eFiberCoordSystem m_eFCoordSystem
HepGeom::Point3D< double > IdealRefPoint
void TransformFiberPositionsFCSAtlas(PFIBERPARAMS pFiberParams, eRPotName eRPName, const eFiberType eType, const eGeoSourceType eSourceType)
const char * GetRPotLabel(const eRPotName eRPName)
std::list< FIBERPARAMS > ListODFibersU0
bool GetVFiberParams(PFIBERPARAMS pFiberParams, const eRPotName eRPName, const int nPlateID, const int nFiberID)
HepGeom::Point3D< double > IdealMainPoint
eGeoSourceType eMDGeometryType
void GetListOfRPotIDs(std::map< eRPotName, std::string > *pMapRPotName)
HepGeom::Transform3D ASTransformInATLAS
double GetODFiberSlope(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
void SetODFiberPositionToMainReference(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID, const HepGeom::Point3D< float > &TransPoint, const double fTransSlope)
HepGeom::Point3D< double > GetDetPointInRPot(eRPotName eRPName, const HepGeom::Point3D< double > &PointInDetCS)
std::vector< HepGeom::Point3D< double > > VecRealRPRefPoints
bool ParseRefPoints(const char *szvalue, std::vector< HepGeom::Point3D< double > > &vecRefPoints, eMetrologyCoordSystem eCSystem)
void SetUFiberPositionToMainReference(const eRPotName eRPName, const int nPlateID, const int nFiberID, const HepGeom::Point3D< float > &TransPoint, const double fTransSlope)
HepGeom::Transform3D DetTransformInMainPoint
std::vector< HepGeom::Point3D< double > > VecIdealRPRefPoints
std::map< int, PLATEPARAMS > MapODPlates
HepGeom::Transform3D GetTransformMatrix(const eRPotName eRPName, const eTransformElement eMatrixType)
std::string strODConnString
bool GetASPosParams(PASPOSPARAMS pRPosParams, const eAStationName eASName)
std::string strMDConnString
HepGeom::Transform3D UserTransformOfDetInRPot
double fMainRefPointSlope
std::map< eAStationName, ASPOSPARAMS > m_ASPosParams
double GetODFiberOffset(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
double GetMDFiberOffset(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
void PrintFiberGeometry(std::ostream &OutStream)
double GetVFiberAngle(const eRPotName eRPName, const int nPlateID, const int nFiberID)
bool SaveRPGeometryParams(const eRPotName eRPName, const char *szDataDestination)
eMetrologyType m_eMetrologyType
struct CFGRPPOSPARAMS::@51 swcorr
bool bIsEnabledUserTranform
std::vector< HepGeom::Point3D< double > > VecIdealDetRefPoints
HepGeom::Point3D< double > DTPInRPotCS
std::map< eRPotName, RPPOSPARAMS > m_RPPosParams
std::list< FIBERPARAMS > ListUFibers
bool ReadSource(const eGeoSourceType eSourceType, const eRPotName eRPName, const eFiberType eFType, const char *szDataSource)
HepGeom::Point3D< double > DCPInAtlasCS
HepGeom::Transform3D RPSWTransformInStation
HepGeom::Transform3D DetSWTransformInMainPoint
ASPOSPARAMS * PASPOSPARAMS
static const HepGeom::Point3D< double > ms_NominalDetPin1
void SetupSWCorrections(const PGEOMETRYCONFIGURATION pConfig)
HepGeom::Vector3D< double > ShiftE
HepGeom::Transform3D RPTransformInStation
HepGeom::Vector3D< double > ShiftS
ALFA_GeometryReader()=default
bool SetupStationMetrologyPoints(ALFA_ConfigParams &CfgParams, eAStationName eASName)
Eigen::Affine3d Transform3D
bool GetPlateParams(PPLATEPARAMS pPlateParams, const eRPotName eRPName, const int nPlateID)
bool Initialize(const PGEOMETRYCONFIGURATION pConfig, eFiberCoordSystem eFCoordSystem)
GEOMETRYCONFIGURATION * PGEOMETRYCONFIGURATION
HepGeom::Transform3D DetIdealTransformInMainPoint
static const HepGeom::Point3D< double > ms_NominalAlfaRefPoint
struct FIBERPARAMS::@46 fcs_cladding
HepGeom::Point3D< double > IdealRPPin1
HepGeom::Transform3D RPIdealTransformInStation
CFGRPPOSPARAMS CfgRPosParams[RPOTSCNT]
std::map< int, PLATEPARAMS > MapPlates
HepGeom::Point3D< float > MainRefPointPos
void Scale(TH1 *h, double d=1)
HepGeom::Point3D< double > DCPInRPotCS
RPPOSPARAMS * PRPPOSPARAMS
std::vector< HepGeom::Point3D< double > > VecRealDetRefPoints
struct CFGRPPOSPARAMS::@52 usercorr
bool GetRPPosParams(PRPPOSPARAMS pRPosParams, const eRPotName eRPName)
std::list< eRPotName > m_ListExistingRPots
PLATEPARAMS * PPLATEPARAMS
HepGeom::Point3D< double > GetDetPointInAtlas(eRPotName eRPName, const HepGeom::Point3D< double > &PointInDetCS)
bool StoreReconstructionGeometry(const eRPotName eRPName, const eFiberType eFType, const char *szDataDestination)
HepGeom::Point3D< double > RealRPPin2
static const HepGeom::Point3D< double > ms_NominalRPPin1
std::list< FIBERPARAMS > ListODFibersV1
std::list< FIBERPARAMS > ListODFibersV0
HepGeom::Point3D< double > RealRPPin3
double GetMDFiberZPos(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
bool GetODFiberParams(PFIBERPARAMS pFiberParams, const eFiberType eFType, const eRPotName eRPName, const int nPlateID, const int nFiberID)
static const HepGeom::Point3D< double > ms_NominalRPMainPoint
HepGeom::Point3D< double > OriginOfDetSWTransform
HepGeom::Scale3D DetScaleInRP
void SetVFiberPositionToMainReference(const eRPotName eRPName, const int nPlateID, const int nFiberID, const HepGeom::Point3D< float > &TransPoint, const double fTransSlope)
double GetRPotZPosInAtlas(const eRPotName eRPName)
HepGeom::Point3D< double > UserOriginOfDetTransInRPot
double GetMDFiberSlope(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
~ALFA_GeometryReader()=default
double GetODFiberCentreYPos(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
bool GetUFiberParams(PFIBERPARAMS pFiberParams, const eRPotName eRPName, const int nPlateID, const int nFiberID)
HepGeom::Scale3D RPScaleInStation
HepGeom::Point3D< double > RealRPPin1
HepGeom::Vector3D< double > DetectorNormal
void GetListOfExistingRPotIDs(std::list< eRPotName > *pListRPotName)
double GetUFiberAngle(const eRPotName eRPName, const int nPlateID, const int nFiberID)
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
bool ParseRPMetrology(eGeoSourceType eSourceType, const char *szDataSource)
std::map< eRPotName, ROMAPOT > m_MapRPot
bool ReadFiberGeometry(const PGEOMETRYCONFIGURATION pConfig)
HepGeom::Transform3D UserTransformOfRPInStation
FIBERPARAMS * PFIBERPARAMS
bool InitializeDefault(const PGEOMETRYCONFIGURATION pConfig)
HepGeom::Transform3D DetSWTransform
HepGeom::Transform3D ASTransformInMainPoint
void TransformFiberPositionsFCSCladding(PFIBERPARAMS pFiberParams, eRPotName eRPName, const eFiberType eType, const eGeoSourceType eSourceType)
struct FIBERPARAMS::@48 fcs_atlas_full
std::string strRPMetrologyConnString
HepGeom::Point3D< double > DTPInAtlasCS
bool SetupRPMetrologyPoints(ALFA_ConfigParams &CfgParams, eRPotName eRPName)
HepGeom::Transform3D ComputeTransformMatrix(const std::vector< HepGeom::Point3D< double > > &VecIdealRefPoints, const std::vector< HepGeom::Point3D< double > > &VecRealRefPoints, const int nPointCnt, HepGeom::Scale3D &Scale, bool bForceUseSVD=false)
HepGeom::Point3D< double > IdealRPPin2
double GetVFiberCentreXPos(const eRPotName eRPName, const int nPlateID, const int nFiberID)
CFGRPPOSPARAMS * PCFGRPPOSPARAMS
macros to associate a CLID to a type
void UpdateStationsPosParams()
bool SetupDetMetrologyPoints(ALFA_ConfigParams &CfgParams, eRPotName eRPName)
double GetODFiberZPos(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
struct FIBERPARAMS::@47 fcs_atlas
double GetODFiberAngle(const eRPotName eRPName, const eFiberType eFType, const int nPlateID, const int nFiberID)
double GetPolyFitValue(const double fInputValue, const std::vector< double > &vecPolyFitParams)
void UpdateSimRPPos(const eRPotName eRPName)
bool ParseArrayOfValues(const char *szvalue, std::vector< double > &vecValues)