ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
AFP
AFP_Geometry
AFP_Geometry
AFP_Geometry.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef AFP_GEOMETRY_H
6
#define AFP_GEOMETRY_H 1
7
8
#include "
AFP_Geometry/AFP_constants.h
"
9
#include "
AFP_Geometry/AFP_ConfigParams.h
"
10
11
#include "CLHEP/Geometry/Point3D.h"
12
#include "
AthenaKernel/CLASS_DEF.h
"
13
14
#include <list>
15
#include <map>
16
#include <vector>
17
#include <string>
18
#include <string_view>
19
20
class
AFP_Geometry
21
{
22
23
protected
:
24
AFP_CONFIGURATION
m_CfgParams
;
25
26
std::map<eAFPStation, std::map<int, HepGeom::Transform3D> >
m_MapSIDTransToLocal
;
27
std::map<eAFPStation, std::map<int, HepGeom::Transform3D> >
m_MapSIDTransToGlobal
;
28
29
public
:
30
AFP_Geometry
() {}
31
AFP_Geometry
(
const
AFP_CONFIGURATION
* pCfgParams);
32
~AFP_Geometry
();
33
34
public
:
35
void
getCfgParams
(
AFP_CONFIGURATION
* pCfgParams)
const
{ *pCfgParams=
m_CfgParams
; }
36
HepGeom::Transform3D
getStationTransform
(std::string_view pszStationName)
const
;
//in world
37
HepGeom::Transform3D
getStationElementTransform
(std::string_view pszStationName,
eStationElement
eElement,
const
int
nPlateID=-1)
const
;
//in station
38
39
public
:
40
//SID detector
41
int
getSIDPlatesCnt
(
const
eAFPStation
eStation)
const
{
42
std::map<eAFPStation, AFP_SIDCONFIGURATION> sidcfg(
m_CfgParams
.sidcfg.begin(),
m_CfgParams
.sidcfg.end());
43
return
sidcfg[eStation].fLayerCount;
44
}
45
HepGeom::Transform3D
getSIDTransform
(
const
eSIDTransformType
eType, std::string_view pszStationName,
const
int
nPlateID)
const
;
// in station
46
StatusCode
getPointInSIDSensorLocalCS
(
const
int
nStationID,
const
int
nPlateID,
const
HepGeom::Point3D<double>& GlobalPoint, HepGeom::Point3D<double>& LocalPoint)
const
;
47
StatusCode
getPointInSIDSensorGlobalCS
(
const
int
nStationID,
const
int
nPlateID,
const
HepGeom::Point3D<double>& LocalPoint, HepGeom::Point3D<double>& GlobalPoint)
const
;
48
eAFPStation
parseStationName
(std::string_view pszStationName)
const
;
49
50
//TOF detector
51
void
setupLBarsDims
(
const
eAFPStation
eStation);
52
void
getPixelLocalPosition
(
const
eAFPStation
eStation,
const
int
nPixelID,
double
* pfX1Pos,
double
* pfX2Pos)
const
;
53
int
getPixelRow
(
const
int
nPixelID)
const
{
return
(nPixelID-(nPixelID%10))/10; }
54
int
getPixelColumn
(
const
int
nPixelID)
const
{
return
nPixelID%10; }
55
56
};
57
58
#ifndef __CINT__
59
CLASS_DEF
(
AFP_Geometry
, 160718034, 1)
60
#endif
61
62
#endif
//AFP_GEOMETRY_H
AFP_ConfigParams.h
eSIDTransformType
eSIDTransformType
Definition
AFP_ConfigParams.h:16
eAFPStation
eAFPStation
Definition
AFP_ConfigParams.h:17
eStationElement
eStationElement
Definition
AFP_ConfigParams.h:15
AFP_constants.h
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
AFP_Geometry
Definition
AFP_Geometry.h:21
AFP_Geometry::getStationElementTransform
HepGeom::Transform3D getStationElementTransform(std::string_view pszStationName, eStationElement eElement, const int nPlateID=-1) const
Definition
AFP_Geometry.cxx:82
AFP_Geometry::getPixelColumn
int getPixelColumn(const int nPixelID) const
Definition
AFP_Geometry.h:54
AFP_Geometry::getPixelLocalPosition
void getPixelLocalPosition(const eAFPStation eStation, const int nPixelID, double *pfX1Pos, double *pfX2Pos) const
Definition
AFP_Geometry.cxx:267
AFP_Geometry::m_MapSIDTransToGlobal
std::map< eAFPStation, std::map< int, HepGeom::Transform3D > > m_MapSIDTransToGlobal
Definition
AFP_Geometry.h:27
AFP_Geometry::m_MapSIDTransToLocal
std::map< eAFPStation, std::map< int, HepGeom::Transform3D > > m_MapSIDTransToLocal
Definition
AFP_Geometry.h:26
AFP_Geometry::AFP_Geometry
AFP_Geometry()
Definition
AFP_Geometry.h:30
AFP_Geometry::getCfgParams
void getCfgParams(AFP_CONFIGURATION *pCfgParams) const
Definition
AFP_Geometry.h:35
AFP_Geometry::setupLBarsDims
void setupLBarsDims(const eAFPStation eStation)
Definition
AFP_Geometry.cxx:279
AFP_Geometry::~AFP_Geometry
~AFP_Geometry()
Definition
AFP_Geometry.cxx:50
AFP_Geometry::getSIDTransform
HepGeom::Transform3D getSIDTransform(const eSIDTransformType eType, std::string_view pszStationName, const int nPlateID) const
Definition
AFP_Geometry.cxx:139
AFP_Geometry::m_CfgParams
AFP_CONFIGURATION m_CfgParams
Definition
AFP_Geometry.h:24
AFP_Geometry::getPointInSIDSensorLocalCS
StatusCode getPointInSIDSensorLocalCS(const int nStationID, const int nPlateID, const HepGeom::Point3D< double > &GlobalPoint, HepGeom::Point3D< double > &LocalPoint) const
Definition
AFP_Geometry.cxx:230
AFP_Geometry::parseStationName
eAFPStation parseStationName(std::string_view pszStationName) const
Definition
AFP_Geometry.cxx:217
AFP_Geometry::getPointInSIDSensorGlobalCS
StatusCode getPointInSIDSensorGlobalCS(const int nStationID, const int nPlateID, const HepGeom::Point3D< double > &LocalPoint, HepGeom::Point3D< double > &GlobalPoint) const
Definition
AFP_Geometry.cxx:248
AFP_Geometry::getPixelRow
int getPixelRow(const int nPixelID) const
Definition
AFP_Geometry.h:53
AFP_Geometry::getStationTransform
HepGeom::Transform3D getStationTransform(std::string_view pszStationName) const
Definition
AFP_Geometry.cxx:55
AFP_Geometry::getSIDPlatesCnt
int getSIDPlatesCnt(const eAFPStation eStation) const
Definition
AFP_Geometry.h:41
AFP_CONFIGURATION
Definition
AFP_ConfigParams.h:134
Generated on
for ATLAS Offline Software by
1.17.0