ATLAS Offline Software
AFPSiRowColToLocalCSTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AFP_SICLUSTERTOOLS_AFPSIROWCOLTOLOCALCSTOOL_H
6 #define AFP_SICLUSTERTOOLS_AFPSIROWCOLTOLOCALCSTOOL_H 1
7 
18 // FrameWork includes
20 #include "GaudiKernel/ServiceHandle.h"
21 
25 
26 // using root transformations because CLHEP does not allow to directly set transformation matrix
27 #include <Math/Point3D.h>
28 #include <Math/RotationY.h>
29 #include <Math/RotationZYX.h>
30 #include <Math/Translation3D.h>
31 #include <Math/Transform3D.h>
32 
33 
34 #include "CLHEP/Units/SystemOfUnits.h"
35 
44  : public extends<AthAlgTool, IAFPSiRowColToLocalCSTool>
45 {
46 public:
47  AFPSiRowColToLocalCSTool (const std::string& type,
48  const std::string& name,
49  const IInterface* parent);
50 
52  virtual StatusCode initialize() override;
53 
55  virtual StatusCode finalize() override;
56 
57 
59  virtual xAOD::AFPSiHitsCluster* newXAODLocal (const int stationID, const int layerID, const AFP::SiLocAlignData& LA, const AFP::SiGlobAlignData& GA, const AFPSiClusterBasicObj& cluster, std::unique_ptr<xAOD::AFPSiHitsClusterContainer>& xAODContainer) const override;
60 
61 
71  void fillXAOD (const int stationID, const int layerID, const ROOT::Math::XYZPoint& position, const ROOT::Math::XYZPoint& positionError, xAOD::AFPSiHitsCluster* xAODCluster) const;
72 
73 private:
80  Gaudi::Property<std::vector<int>> m_numberOfLayersInStations {this, "numberOfLayersInStations",{4,4,4,4}, "Array defining number of stations and layers in each station. The size of the array in argument defines number of stations, the value in each entry defines number of layers in the station."};
81 
88  std::vector< std::vector<ROOT::Math::Transform3D> > m_transformations;
89 
96  Gaudi::Property<std::vector<double>> m_transformationsInit{this, "transformations", {}, "Initialisation of the transformation matrices (4x3). It is not full transformation only part. Must be defined simultaneously with transformationsErr."};
97 
103  std::vector< std::vector<ROOT::Math::Transform3D> > m_transformationsErr;
104 
111  Gaudi::Property<std::vector<double>> m_transformationsErrInit{this, "transformationsErr", {}, "Initialisation of the error transformation matrices (4x3). It is not full transformation only part. Must be defined simultaneously with transformations."};
112 
113 
118  Gaudi::Property<double> m_pixelHorizSize {this, "pixelHorizSize", 0.05, "Size of the pixel in horizontal direction when mounted (default = 0.05 mm)"};
119 
124  Gaudi::Property<double> m_pixelVertSize {this, "pixelVertSize", 0.25, "Size of the pixel in vertical direction when mounted (default = 0.25 mm)"};
125 
127  void initTransformationMatricesSize (std::list<std::vector< std::vector<ROOT::Math::Transform3D> >* >& matrices, const std::vector<int>& layersInStations);
128 };
129 
130 #endif
IAFPSiRowColToLocalCSTool.h
Header file for interface IAFPSiRowColToLocalCSTool.
AFPSiRowColToLocalCSTool::m_transformationsInit
Gaudi::Property< std::vector< double > > m_transformationsInit
Vector containing initial values for m_transformations matrices.
Definition: AFPSiRowColToLocalCSTool.h:96
AFPSiRowColToLocalCSTool::AFPSiRowColToLocalCSTool
AFPSiRowColToLocalCSTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AFPSiRowColToLocalCSTool.cxx:25
AFPSiRowColToLocalCSTool::m_transformationsErr
std::vector< std::vector< ROOT::Math::Transform3D > > m_transformationsErr
Array of transformations that are applied to position uncertainties.
Definition: AFPSiRowColToLocalCSTool.h:103
AFPSiRowColToLocalCSTool::m_numberOfLayersInStations
Gaudi::Property< std::vector< int > > m_numberOfLayersInStations
Vector defining number of stations and number of layers in each station.
Definition: AFPSiRowColToLocalCSTool.h:80
AFPSiRowColToLocalCSTool::m_pixelHorizSize
Gaudi::Property< double > m_pixelHorizSize
Size of the pixel in horizontal direction when mounted (default = 0.05 mm)
Definition: AFPSiRowColToLocalCSTool.h:118
AFPSiRowColToLocalCSTool::fillXAOD
void fillXAOD(const int stationID, const int layerID, const ROOT::Math::XYZPoint &position, const ROOT::Math::XYZPoint &positionError, xAOD::AFPSiHitsCluster *xAODCluster) const
Sets xAOD information about station, layer, position and error based on the ROOT::Math::XYZPoint obje...
Definition: AFPSiRowColToLocalCSTool.cxx:184
AFPSiRowColToLocalCSTool::m_transformationsErrInit
Gaudi::Property< std::vector< double > > m_transformationsErrInit
Vector containing initial values for m_transformationsErr matrices.
Definition: AFPSiRowColToLocalCSTool.h:111
AFPSiRowColToLocalCSTool::m_transformations
std::vector< std::vector< ROOT::Math::Transform3D > > m_transformations
Array of transformations that position in each layers.
Definition: AFPSiRowColToLocalCSTool.h:88
AFPSiRowColToLocalCSTool::newXAODLocal
virtual xAOD::AFPSiHitsCluster * newXAODLocal(const int stationID, const int layerID, const AFP::SiLocAlignData &LA, const AFP::SiGlobAlignData &GA, const AFPSiClusterBasicObj &cluster, std::unique_ptr< xAOD::AFPSiHitsClusterContainer > &xAODContainer) const override
Definition: AFPSiRowColToLocalCSTool.cxx:199
AFPSiRowColToLocalCSTool
Translates pixels rows and columns to position in standard ATLAS coordinates system.
Definition: AFPSiRowColToLocalCSTool.h:45
AFPSiClusterBasicObj
Class representing basic silicon pixels cluster, designed to be used for creating the clusters.
Definition: AFPSiClusterBasicObj.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SiLocAlignData.h
Header file for class SiLocAlignData.
AthAlgTool.h
AFPSiRowColToLocalCSTool::finalize
virtual StatusCode finalize() override
does nothing
Definition: AFPSiRowColToLocalCSTool.cxx:180
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Muon::nsw::STGTPSegments::moduleIDBits::stationID
constexpr uint8_t stationID
Large or Small wedge.
Definition: NSWSTGTPDecodeBitmaps.h:152
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
AFP::SiGlobAlignData
Definition: SiGlobAlignData.h:23
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
AFPSiRowColToLocalCSTool::initialize
virtual StatusCode initialize() override
Prepare transformation matrices.
Definition: AFPSiRowColToLocalCSTool.cxx:50
AFP::SiLocAlignData
Class storing information about alignment.
Definition: SiLocAlignData.h:24
SiGlobAlignData.h
Source file for class SiGlobAlignData.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AFPSiRowColToLocalCSTool::m_pixelVertSize
Gaudi::Property< double > m_pixelVertSize
Size of the pixel in vertical direction when mounted (default = 0.25 mm)
Definition: AFPSiRowColToLocalCSTool.h:124
AFPSiRowColToLocalCSTool::initTransformationMatricesSize
void initTransformationMatricesSize(std::list< std::vector< std::vector< ROOT::Math::Transform3D > > * > &matrices, const std::vector< int > &layersInStations)
The method initialises matrices to have the size defined in layersInStations.
Definition: AFPSiRowColToLocalCSTool.cxx:33
xAOD::AFPSiHitsCluster_v1
Class representing a cluster of AFP pixel hits.
Definition: AFPSiHitsCluster_v1.h:32