ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_LocRecCorr.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ALFA_LOCRECCORR_h
6#define ALFA_LOCRECCORR_h
7
8#include <iostream>
9#include <string>
10#include <list>
11#include <map>
12#include <vector>
13
14#include "Riostream.h"
15#include "TROOT.h"
16
18
19#include "GaudiKernel/ServiceHandle.h"
24
36#include "ALFA_UserObjects.h"
37
38#define MAXNUMTRACKS 100
39
40typedef struct _USERTRANSFORM
41{
42 int iRPot;
43 double fAngle;
44 CLHEP::Hep3Vector vecRotation;
45 CLHEP::Hep3Vector vecTranslation;
46
48
49
50class StoreGateSvc;
51
53{
54public:
55 ALFA_LocRecCorr(const std::string& name, ISvcLocator* pSvcLocator);
57
58private:
61
62 // a handle on Store Gate
63 //StoreGateSvc* m_storeGate;
64 //StoreGateSvc* m_pDetStore;
65
68
70 std::list<eRPotName> m_ListExistingRPots;
71
74
75 Int_t m_iDataType; //data type (simulation or real data) using in the local reconstruction
76 Int_t m_iEvt;
77
78 std::vector<bool> m_bIsTransformInStation;
79 std::vector<bool> m_bIsTransformInDetector;
88 std::vector<double> m_vecTransformInDetectorB7L1U;
89 std::vector<double> m_vecTransformInDetectorB7L1L;
90 std::vector<double> m_vecTransformInDetectorA7L1U;
91 std::vector<double> m_vecTransformInDetectorA7L1L;
92 std::vector<double> m_vecTransformInDetectorB7R1U;
93 std::vector<double> m_vecTransformInDetectorB7R1L;
94 std::vector<double> m_vecTransformInDetectorA7R1U;
95 std::vector<double> m_vecTransformInDetectorA7R1L;
96 std::vector<double> m_vecTransformInStationB7L1U;
97 std::vector<double> m_vecTransformInStationB7L1L;
98 std::vector<double> m_vecTransformInStationA7L1U;
99 std::vector<double> m_vecTransformInStationA7L1L;
100 std::vector<double> m_vecTransformInStationB7R1U;
101 std::vector<double> m_vecTransformInStationB7R1L;
102 std::vector<double> m_vecTransformInStationA7R1U;
103 std::vector<double> m_vecTransformInStationA7R1L;
104
115
116 HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT];
117 HepGeom::Transform3D m_TransMatrixLHC[RPOTSCNT];
118
119public:
120 StatusCode initialize();
121 StatusCode execute();
122
123private:
124 bool UpdateGeometryAtlas();
125 void SetNominalGeometry();
126
127 StatusCode RecordCollection();
128 StatusCode RecordODCollection();
129
130 HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName);
131 HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName);
132 HepGeom::Point3D<double> Point3DInDetector(eRPotName eRPName);
133
134 StatusCode COOLUpdate();
135};
136
137#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
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 with parameters:
The Athena Transient Store API.
CLHEP::Hep3Vector vecTranslation
CLHEP::Hep3Vector vecRotation