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 "Riostream.h"
11#include "TROOT.h"
12
14
15#include "GaudiKernel/ServiceHandle.h"
20
32#include "ALFA_UserObjects.h"
33#include <string>
34#include <list>
35#include <vector>
36
37#define MAXNUMTRACKS 100
38
39typedef struct _USERTRANSFORM
40{
41 int iRPot{};
42 double fAngle{};
43 CLHEP::Hep3Vector vecRotation;
44 CLHEP::Hep3Vector vecTranslation;
45
47
48
49class StoreGateSvc;
50
52{
53public:
54 ALFA_LocRecCorr(const std::string& name, ISvcLocator* pSvcLocator);
56
57private:
60
61 // a handle on Store Gate
62 //StoreGateSvc* m_storeGate;
63 //StoreGateSvc* m_pDetStore;
64
67
69 std::list<eRPotName> m_ListExistingRPots;
70
73
74 Int_t m_iDataType; //data type (simulation or real data) using in the local reconstruction
75 Int_t m_iEvt;
76
77 std::vector<bool> m_bIsTransformInStation;
78 std::vector<bool> m_bIsTransformInDetector;
87 std::vector<double> m_vecTransformInDetectorB7L1U;
88 std::vector<double> m_vecTransformInDetectorB7L1L;
89 std::vector<double> m_vecTransformInDetectorA7L1U;
90 std::vector<double> m_vecTransformInDetectorA7L1L;
91 std::vector<double> m_vecTransformInDetectorB7R1U;
92 std::vector<double> m_vecTransformInDetectorB7R1L;
93 std::vector<double> m_vecTransformInDetectorA7R1U;
94 std::vector<double> m_vecTransformInDetectorA7R1L;
95 std::vector<double> m_vecTransformInStationB7L1U;
96 std::vector<double> m_vecTransformInStationB7L1L;
97 std::vector<double> m_vecTransformInStationA7L1U;
98 std::vector<double> m_vecTransformInStationA7L1L;
99 std::vector<double> m_vecTransformInStationB7R1U;
100 std::vector<double> m_vecTransformInStationB7R1L;
101 std::vector<double> m_vecTransformInStationA7R1U;
102 std::vector<double> m_vecTransformInStationA7R1L;
103
114
115 HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT];
116 HepGeom::Transform3D m_TransMatrixLHC[RPOTSCNT];
117
118public:
119 StatusCode initialize();
120 StatusCode execute(const EventContext& ctx);
121
122private:
123 bool UpdateGeometryAtlas();
124 void SetNominalGeometry();
125
126 StatusCode RecordCollection();
127 StatusCode RecordODCollection();
128
129 HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName);
130 HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName);
131 HepGeom::Point3D<double> Point3DInDetector(eRPotName eRPName);
132
133 StatusCode COOLUpdate();
134};
135
136#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