ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_LocRecCorr.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 ALFA_LOCRECCORR_h
6#define ALFA_LOCRECCORR_h
7
8
9
10#include "TROOT.h"
11
13
14#include "GaudiKernel/ServiceHandle.h"
19
31#include "ALFA_UserObjects.h"
32#include <string>
33#include <list>
34#include <vector>
35
36#define MAXNUMTRACKS 100
37
38typedef struct _USERTRANSFORM
39{
40 int iRPot{};
41 double fAngle{};
42 CLHEP::Hep3Vector vecRotation;
43 CLHEP::Hep3Vector vecTranslation;
44
46
47
48class StoreGateSvc;
49
51{
52public:
53 ALFA_LocRecCorr(const std::string& name, ISvcLocator* pSvcLocator);
55
56private:
59
60 // a handle on Store Gate
61 //StoreGateSvc* m_storeGate;
62 //StoreGateSvc* m_pDetStore;
63
66
68 std::list<eRPotName> m_ListExistingRPots;
69
72
73 Int_t m_iDataType; //data type (simulation or real data) using in the local reconstruction
74 Int_t m_iEvt;
75
76 std::vector<bool> m_bIsTransformInStation;
77 std::vector<bool> m_bIsTransformInDetector;
86 std::vector<double> m_vecTransformInDetectorB7L1U;
87 std::vector<double> m_vecTransformInDetectorB7L1L;
88 std::vector<double> m_vecTransformInDetectorA7L1U;
89 std::vector<double> m_vecTransformInDetectorA7L1L;
90 std::vector<double> m_vecTransformInDetectorB7R1U;
91 std::vector<double> m_vecTransformInDetectorB7R1L;
92 std::vector<double> m_vecTransformInDetectorA7R1U;
93 std::vector<double> m_vecTransformInDetectorA7R1L;
94 std::vector<double> m_vecTransformInStationB7L1U;
95 std::vector<double> m_vecTransformInStationB7L1L;
96 std::vector<double> m_vecTransformInStationA7L1U;
97 std::vector<double> m_vecTransformInStationA7L1L;
98 std::vector<double> m_vecTransformInStationB7R1U;
99 std::vector<double> m_vecTransformInStationB7R1L;
100 std::vector<double> m_vecTransformInStationA7R1U;
101 std::vector<double> m_vecTransformInStationA7R1L;
102
113
114 HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT];
115 HepGeom::Transform3D m_TransMatrixLHC[RPOTSCNT];
116
117public:
118 StatusCode initialize();
119 StatusCode execute(const EventContext& ctx);
120
121private:
122 bool UpdateGeometryAtlas();
123 void SetNominalGeometry();
124
125 StatusCode RecordCollection();
126 StatusCode RecordODCollection();
127
128 HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName);
129 HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName);
130 HepGeom::Point3D<double> Point3DInDetector(eRPotName eRPName);
131
132 StatusCode COOLUpdate();
133};
134
135#endif //ALFA_LOCRECCORR_h
#define RPOTSCNT
struct _USERTRANSFORM USERTRANSFORM
struct _USERTRANSFORM * PUSERTRANSFORM
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
std::vector< double > m_vecTransformInStationB7R1U
ALFA_LocRecCorrEvCollection * m_pLocRecCorrEvCollection
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
std::vector< double > m_vecTransformInStationA7R1U
std::string m_strKeyLocRecCorrODEvCollection
ALFA_GeometryReader * m_pGeometryReader
std::string m_strTruthCollectionName
StatusCode COOLUpdate()
std::vector< bool > m_bIsTransformInDetector
std::vector< double > m_vecTransformInStationB7R1L
std::string m_strKeyRawDataCollection
HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName)
HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT]
GEOMETRYCONFIGURATION m_Config
std::vector< double > m_pointTransformInDetectorA7L1L
std::vector< double > m_vecTransformInDetectorA7R1U
std::vector< double > m_pointTransformInDetectorA7R1L
std::vector< double > m_vecTransformInDetectorB7L1L
std::vector< double > m_vecTransformInStationA7L1U
HepGeom::Transform3D m_TransMatrixLHC[RPOTSCNT]
std::string m_strODCollectionName
std::string m_strKeyLocRecEvCollection
std::vector< double > m_vecTransformInDetectorA7L1L
std::vector< double > m_vecTransformInStationA7R1L
std::vector< double > m_vecTransformInDetectorB7R1U
std::vector< double > m_vecTransformInDetectorA7L1U
std::string m_strKeyLocRecODEvCollection
std::vector< double > m_vecTransformInDetectorB7R1L
std::vector< double > m_vecTransformInDetectorB7L1U
StatusCode RecordCollection()
std::vector< double > m_vecTransformInStationA7L1L
std::string m_strLocRecCollectionName
std::vector< double > m_vecTransformInStationB7L1U
std::string m_strCollectionName
StatusCode execute(const EventContext &ctx)
Execute method.
std::vector< double > m_pointTransformInDetectorB7L1L
std::vector< double > m_pointTransformInDetectorA7L1U
std::vector< double > m_vecTransformInStationB7L1L
std::vector< double > m_pointTransformInDetectorB7R1L
std::string m_rootInputFileName
std::string m_strLocRecODCollectionName
ALFA_LocRecCorr(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< bool > m_bIsTransformInStation
ALFA_LocRecCorrODEvCollection * m_pLocRecCorrODEvCollection
StatusCode RecordODCollection()
StatusCode initialize()
HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName)
std::string m_strKeyLocRecCorrEvCollection
std::vector< double > m_pointTransformInDetectorA7R1U
std::vector< double > m_pointTransformInDetectorB7L1U
std::vector< double > m_vecTransformInDetectorA7R1L
std::string m_strKeyGeometryForReco
std::vector< double > m_pointTransformInDetectorB7R1U
std::list< eRPotName > m_ListExistingRPots
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
The Athena Transient Store API.
CLHEP::Hep3Vector vecTranslation
CLHEP::Hep3Vector vecRotation