ATLAS Offline Software
ALFA_LocRecCorr.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "ALFA_LocRecCorr.h"
7 
9 
10 using namespace std;
11 
12 
13 ALFA_LocRecCorr::ALFA_LocRecCorr(const string& name, ISvcLocator* pSvcLocator) :
14 AthAlgorithm(name, pSvcLocator)
15 {
16  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::ALFA_LocRecCorr");
17  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::ALFA_LocRecCorr");
18 
19  m_pGeometryReader = nullptr;
20 
21 // m_Config.eOwner=EOT_RECO;
22  m_Config.clear();
23 
24  //begin of Geometry properties
25  declareProperty("MetrologyType",m_Config.eRPMetrologyGeoType=EMT_NOMINAL);//EGST_FILE
26  declareProperty("MetrologySource",m_Config.strRPMetrologyConnString=string(""));//"rpmetrology.dat"
27  declareProperty("ShiftToX97Pos",m_Config.bShiftToX97Pos=false);
28 
32  declareProperty("B7L1U_MDSource",m_Config.CfgRPosParams[0].strMDConnString=string(""));
33  declareProperty("B7L1U_ODSource",m_Config.CfgRPosParams[0].strODConnString=string(""));
35 
39  declareProperty("B7L1L_MDSource",m_Config.CfgRPosParams[1].strMDConnString=string(""));
40  declareProperty("B7L1L_ODSource",m_Config.CfgRPosParams[1].strODConnString=string(""));
42 
46  declareProperty("A7L1U_MDSource",m_Config.CfgRPosParams[2].strMDConnString=string(string("")));
47  declareProperty("A7L1U_ODSource",m_Config.CfgRPosParams[2].strODConnString=string(string("")));
49 
53  declareProperty("A7L1L_MDSource",m_Config.CfgRPosParams[3].strMDConnString=string(""));
54  declareProperty("A7L1L_ODSource",m_Config.CfgRPosParams[3].strODConnString=string(""));
56 
60  declareProperty("A7R1U_MDSource",m_Config.CfgRPosParams[4].strMDConnString=string(""));
61  declareProperty("A7R1U_ODSource",m_Config.CfgRPosParams[4].strODConnString=string(""));
63 
67  declareProperty("A7R1L_MDSource",m_Config.CfgRPosParams[5].strMDConnString=string(""));
68  declareProperty("A7R1L_ODSource",m_Config.CfgRPosParams[5].strODConnString=string(""));
70 
74  declareProperty("B7R1U_MDSource",m_Config.CfgRPosParams[6].strMDConnString=string(""));
75  declareProperty("B7R1U_ODSource",m_Config.CfgRPosParams[6].strODConnString=string(""));
77 
81  declareProperty("B7R1L_MDSource",m_Config.CfgRPosParams[7].strMDConnString=string(""));
82  declareProperty("B7R1L_ODSource",m_Config.CfgRPosParams[7].strODConnString=string(""));
84  //end of Geometry properties
85 
86  //for transformations
87  m_bIsTransformInStation.assign(8, false);
88  m_bIsTransformInDetector.assign(8, false);
89 
90  m_pointTransformInDetectorB7L1U.assign(3, 0.0);
91  m_pointTransformInDetectorB7L1L.assign(3, 0.0);
92  m_pointTransformInDetectorA7L1U.assign(3, 0.0);
93  m_pointTransformInDetectorA7L1L.assign(3, 0.0);
94  m_pointTransformInDetectorB7R1U.assign(3, 0.0);
95  m_pointTransformInDetectorB7R1L.assign(3, 0.0);
96  m_pointTransformInDetectorA7R1U.assign(3, 0.0);
97  m_pointTransformInDetectorA7R1L.assign(3, 0.0);
98 
99  m_vecTransformInDetectorB7L1U.assign(7, 0.0);
100  m_vecTransformInDetectorB7L1L.assign(7, 0.0);
101  m_vecTransformInDetectorA7L1U.assign(7, 0.0);
102  m_vecTransformInDetectorA7L1L.assign(7, 0.0);
103  m_vecTransformInDetectorB7R1U.assign(7, 0.0);
104  m_vecTransformInDetectorB7R1L.assign(7, 0.0);
105  m_vecTransformInDetectorA7R1U.assign(7, 0.0);
106  m_vecTransformInDetectorA7R1L.assign(7, 0.0);
107 
108  m_vecTransformInStationB7L1U.assign(7, 0.0);
109  m_vecTransformInStationB7L1L.assign(7, 0.0);
110  m_vecTransformInStationA7L1U.assign(7, 0.0);
111  m_vecTransformInStationA7L1L.assign(7, 0.0);
112  m_vecTransformInStationB7R1U.assign(7, 0.0);
113  m_vecTransformInStationB7R1L.assign(7, 0.0);
114  m_vecTransformInStationA7R1U.assign(7, 0.0);
115  m_vecTransformInStationA7R1L.assign(7, 0.0);
116 
117  declareProperty("bIsTransformInStation", m_bIsTransformInStation, "status if transformation in station will be calculated");
118  declareProperty("bIsTransformInDetector", m_bIsTransformInDetector, "status if transformation in station will be calculated");
119 
120  declareProperty("pointTransformInDetectorB7L1U", m_pointTransformInDetectorB7L1U, "transformation point in the detectorfor B7L1U RP");
121  declareProperty("pointTransformInDetectorB7L1L", m_pointTransformInDetectorB7L1L, "transformation point in the detectorfor B7L1L RP");
122  declareProperty("pointTransformInDetectorA7L1U", m_pointTransformInDetectorA7L1U, "transformation point in the detectorfor A7L1U RP");
123  declareProperty("pointTransformInDetectorA7L1L", m_pointTransformInDetectorA7L1L, "transformation point in the detectorfor A7L1L RP");
124  declareProperty("pointTransformInDetectorA7R1U", m_pointTransformInDetectorA7R1U, "transformation point in the detectorfor A7R1U RP");
125  declareProperty("pointTransformInDetectorA7R1L", m_pointTransformInDetectorA7R1L, "transformation point in the detectorfor A7R1L RP");
126  declareProperty("pointTransformInDetectorB7R1U", m_pointTransformInDetectorB7R1U, "transformation point in the detectorfor B7R1U RP");
127  declareProperty("pointTransformInDetectorB7R1L", m_pointTransformInDetectorB7R1L, "transformation point in the detectorfor B7R1L RP");
128 
129  declareProperty("vecTransformInDetectorB7L1U", m_vecTransformInDetectorB7L1U, "transformation data in the detectorfor B7L1U RP");
130  declareProperty("vecTransformInDetectorB7L1L", m_vecTransformInDetectorB7L1L, "transformation data in the detectorfor B7L1L RP");
131  declareProperty("vecTransformInDetectorA7L1U", m_vecTransformInDetectorA7L1U, "transformation data in the detectorfor A7L1U RP");
132  declareProperty("vecTransformInDetectorA7L1L", m_vecTransformInDetectorA7L1L, "transformation data in the detectorfor A7L1L RP");
133  declareProperty("vecTransformInDetectorA7R1U", m_vecTransformInDetectorA7R1U, "transformation data in the detectorfor A7R1U RP");
134  declareProperty("vecTransformInDetectorA7R1L", m_vecTransformInDetectorA7R1L, "transformation data in the detectorfor A7R1L RP");
135  declareProperty("vecTransformInDetectorB7R1U", m_vecTransformInDetectorB7R1U, "transformation data in the detectorfor B7R1U RP");
136  declareProperty("vecTransformInDetectorB7R1L", m_vecTransformInDetectorB7R1L, "transformation data in the detectorfor B7R1L RP");
137 
138  declareProperty("vecTransformInStationB7L1U", m_vecTransformInStationB7L1U, "transformation data in the stationfor B7L1U RP");
139  declareProperty("vecTransformInStationB7L1L", m_vecTransformInStationB7L1L, "transformation data in the stationfor B7L1L RP");
140  declareProperty("vecTransformInStationA7L1U", m_vecTransformInStationA7L1U, "transformation data in the stationfor A7L1U RP");
141  declareProperty("vecTransformInStationA7L1L", m_vecTransformInStationA7L1L, "transformation data in the stationfor A7L1L RP");
142  declareProperty("vecTransformInStationA7R1U", m_vecTransformInStationA7R1U, "transformation data in the stationfor A7R1U RP");
143  declareProperty("vecTransformInStationA7R1L", m_vecTransformInStationA7R1L, "transformation data in the stationfor A7R1L RP");
144  declareProperty("vecTransformInStationB7R1U", m_vecTransformInStationB7R1U, "transformation data in the stationfor B7R1U RP");
145  declareProperty("vecTransformInStationB7R1L", m_vecTransformInStationB7R1L, "transformation data in the stationfor B7R1L RP");
146 
147  m_ListExistingRPots.clear();
148 
149  // data type using in the local reconstruction
150  // for the simulation data the value is 0, for the real data the value is 1. Unset value is -1
151  declareProperty("DataType", m_iDataType=1, "data type using in the local reconstruction");
152 
153  m_strKeyGeometryForReco = "ALFA_GeometryForReco";
154  m_strLocRecCollectionName = "ALFA_LocRecEvCollection";
155  m_strLocRecODCollectionName = "ALFA_LocRecODEvCollection";
156  m_strKeyLocRecEvCollection = "ALFA_LocRecEvCollection";
157  m_strKeyLocRecODEvCollection = "ALFA_LocRecODEvCollection";
158  m_strKeyLocRecCorrEvCollection = "ALFA_LocRecCorrEvCollection";
159  m_strKeyLocRecCorrODEvCollection = "ALFA_LocRecCorrODEvCollection";
160 
161  m_bCoolData = true;
162  declareProperty("CoolData", m_bCoolData);
163 
164  m_pLocRecCorrEvCollection = nullptr;
165  m_pLocRecCorrODEvCollection = nullptr;
166  m_iEvt = 0;
167 
168  ATH_MSG_DEBUG("end ALFA_LocRecCorr::ALFA_LocRecCorr");
169 }
170 
172 {
173  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::~ALFA_LocRecCorr");
174  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::~ALFA_LocRecCorr");
175 
176  ATH_MSG_DEBUG("end ALFA_LocRecCorr::~ALFA_LocRecCorr");
177 }
178 
180 {
181  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::Initialize()");
182  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Initialize()");
183 
184 // StatusCode sc;
185 
186 // sc = service("StoreGateSvc",m_storeGate);
187 // if(sc.isFailure())
188 // {
189 // ATH_MSG_ERROR("reconstruction: unable to retrieve pointer to StoreGateSvc");
190 // return sc;
191 // }
192 
193 // if (StatusCode::SUCCESS!=service("DetectorStore",m_pDetStore))
194 // {
195 // ATH_MSG_ERROR("Detector store not found");
196 // return StatusCode::FAILURE;
197 // }
198 
199  //read ALFA_Geometry from StoreGate
200  if (!detStore()->contains<ALFA_GeometryReader>(m_strKeyGeometryForReco))
201  {
202  ATH_MSG_ERROR("m_pGeometryReader is not in StoreGate");
203  }
204  else ATH_MSG_DEBUG("m_pGeometryReader is in StoreGate");
205 
206  if (StatusCode::SUCCESS != detStore()->retrieve(m_pGeometryReader, m_strKeyGeometryForReco))
207  {
208  ATH_MSG_ERROR("m_pGeometryReader: unable to retrieve data from SG");
209  }
210  else ATH_MSG_DEBUG("m_pGeometryReader: retrieved from SG");
211 
213  {
214  CHECK(AddCOOLFolderCallback("/FWD/ALFA/position_calibration"));
215  }
216 
219 
220  // do update geometry at the end of the initialization process
221  if (UpdateGeometryAtlas())
222  ATH_MSG_DEBUG("Geometry updated successfully.");
223  else
224  ATH_MSG_FATAL("Unable to update a geometry!");
225 
226  ATH_MSG_DEBUG("end ALFA_LocRecCorr::initialize()");
227 
228  return StatusCode::SUCCESS;
229 }
230 
232 {
233  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::Execute()");
234  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Execute()");
235 
236  StatusCode sc = StatusCode::SUCCESS;
237 
238  sc = RecordCollection();
239  if (sc.isFailure())
240  {
241  ATH_MSG_ERROR("ALFA_LocRecCorr recordCollection failed");
242  return StatusCode::SUCCESS;
243  }
244 
246  if (sc.isFailure())
247  {
248  ATH_MSG_ERROR("ALFA_LocRecCorr recordODCollection failed");
249  return StatusCode::SUCCESS;
250  }
251 
252  int iRPot, iSide;
253  int iAlgo;
254  double fRecPosX = -9999.0, fRecPosY = -9999.0, fRecPosOD = -9999.0;
255  HepGeom::Point3D<double> PointInDetCS;
256  HepGeom::Point3D<double> PointInPotCS;
257  HepGeom::Point3D<double> PointInStatCS;
258  HepGeom::Point3D<double> PointInAtlasCS;
259 
260  const ALFA_LocRecEvCollection* pLocRecCorrCol = nullptr;
261  const ALFA_LocRecODEvCollection* pLocRecCorrODCol = nullptr;
262 
263  sc = evtStore()->retrieve(pLocRecCorrCol, m_strLocRecCollectionName);
264  if(sc.isFailure() || !pLocRecCorrCol)
265  {
266  ATH_MSG_ERROR("Container "<< m_strLocRecCollectionName <<" NOT FOUND !!!!!!!");
267 // return StatusCode::FAILURE;
268  }
269  else
270  {
271  ALFA_LocRecEvCollection::const_iterator mcColBeg = pLocRecCorrCol->begin();
272  ALFA_LocRecEvCollection::const_iterator mcColEnd = pLocRecCorrCol->end();
273 
274  //loop over collection (container) with hits (i.e. over 1 event)
275  for(; mcColBeg!=mcColEnd; ++mcColBeg)
276  {
277  iAlgo = (*mcColBeg)->getAlgoNum();
278  iRPot = (*mcColBeg)->getPotNum();
279  fRecPosX = (*mcColBeg)->getXposition();
280  fRecPosY = (*mcColBeg)->getYposition();
281 
282  PointInDetCS = HepGeom::Point3D<double>(fRecPosX, fRecPosY, 10.0);
283  PointInAtlasCS = m_pGeometryReader->GetDetPointInAtlas((eRPotName)(iRPot+1), PointInDetCS);
284  PointInPotCS = m_pGeometryReader->GetDetPointInRPot((eRPotName)(iRPot+1), PointInDetCS);
285  PointInStatCS = m_TransMatrixSt[iRPot]*PointInDetCS;
286 
287  m_pLocRecCorrEvCollection->push_back(new ALFA_LocRecCorrEvent(iAlgo, iRPot, PointInAtlasCS[0], PointInAtlasCS[1], PointInAtlasCS[2], PointInPotCS[0], PointInPotCS[1], PointInStatCS[0], PointInStatCS[1], -9999.0, -9999.0));
288  }
289  }
290 
291  sc = evtStore()->retrieve(pLocRecCorrODCol, m_strLocRecODCollectionName);
292  if(sc.isFailure() || !pLocRecCorrODCol)
293  {
294  ATH_MSG_ERROR("Container "<< m_strLocRecODCollectionName <<" NOT FOUND !!!!!!!");
295 // return StatusCode::FAILURE;
296  }
297  else
298  {
299  ALFA_LocRecODEvCollection::const_iterator mcColODBeg = pLocRecCorrODCol->begin();
300  ALFA_LocRecODEvCollection::const_iterator mcColODEnd = pLocRecCorrODCol->end();
301 
302  //loop over collection (container) with hits (i.e. over 1 event)
303  Int_t iSign;
304  for(; mcColODBeg!=mcColODEnd; ++mcColODBeg)
305  {
306  iAlgo = (*mcColODBeg)->getAlgoNum();
307  iRPot = (*mcColODBeg)->getPotNum();
308  iSide = (*mcColODBeg)->getSide();
309  fRecPosOD = (*mcColODBeg)->getYposition();
310 
311  iSign = (iSide==0)? -1 : 1;
312  PointInDetCS = HepGeom::Point3D<double>(iSign*22, fRecPosOD, 35.5);
313  PointInAtlasCS = m_pGeometryReader->GetDetPointInAtlas((eRPotName)(iRPot+1), PointInDetCS);
314  PointInPotCS = m_pGeometryReader->GetDetPointInRPot((eRPotName)(iRPot+1), PointInDetCS);
315  PointInStatCS = m_TransMatrixSt[iRPot]*PointInDetCS;
316  m_pLocRecCorrODEvCollection->push_back(new ALFA_LocRecCorrODEvent(iAlgo, iRPot, iSide, PointInAtlasCS[1], PointInAtlasCS[2], PointInPotCS[1], PointInStatCS[1], -9999.0));
317  }
318  }
319 
320  ATH_MSG_DEBUG("end ALFA_LocRecCorr::execute()");
321  return StatusCode::SUCCESS;
322 }
323 
325 {
326  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::finalize()");
327  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::finalize()");
328 
329  StatusCode sc = StatusCode::SUCCESS;
330 
331  ATH_MSG_DEBUG("end ALFA_LocRecCorr::finalize()");
332 
333  return sc;
334 }
335 
336 
337 
339 {
340  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UserTransform3DInStation(eRPotName eRPName)");
341  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UserTransform3DInStation()");
342 
343  CLHEP::HepRep3x3 matRotation;
344  USERTRANSFORM structUserTransform;
345 
346  switch(eRPName)
347  {
348  case ERPN_B7L1U:
349  structUserTransform.fAngle = m_vecTransformInStationB7L1U[0];
352  break;
353  case ERPN_B7L1L:
354  structUserTransform.fAngle = m_vecTransformInStationB7L1L[0];
357  break;
358  case ERPN_A7L1U:
359  structUserTransform.fAngle = m_vecTransformInStationA7L1U[0];
362  break;
363  case ERPN_A7L1L:
364  structUserTransform.fAngle = m_vecTransformInStationA7L1L[0];
367  break;
368  case ERPN_A7R1U:
369  structUserTransform.fAngle = m_vecTransformInStationA7R1U[0];
372  break;
373  case ERPN_A7R1L:
374  structUserTransform.fAngle = m_vecTransformInStationA7R1L[0];
377  break;
378  case ERPN_B7R1U:
379  structUserTransform.fAngle = m_vecTransformInStationB7R1U[0];
382  break;
383  case ERPN_B7R1L:
384  structUserTransform.fAngle = m_vecTransformInStationB7R1L[0];
387  break;
388  default:
389  ATH_MSG_WARNING("Unknown Roman pot, station transformation will be set to default (zero) values");
390  structUserTransform.fAngle = 0.0;
391  structUserTransform.vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
392  structUserTransform.vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
393  }
394 
395  double fPhi = structUserTransform.fAngle;
396 
397  CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.vecRotation);
398  CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.vecTranslation);
399 
400  matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - cos(fPhi)) + cos(fPhi);
401  matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - cos(fPhi)) - vRotation.z()*sin(fPhi);
402  matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - cos(fPhi)) + vRotation.y()*sin(fPhi);
403 
404  matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - cos(fPhi)) + vRotation.z()*sin(fPhi);
405  matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - cos(fPhi)) + cos(fPhi);
406  matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - cos(fPhi)) - vRotation.x()*sin(fPhi);
407 
408  matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - cos(fPhi)) - vRotation.y()*sin(fPhi);
409  matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - cos(fPhi)) + vRotation.x()*sin(fPhi);
410  matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - cos(fPhi)) + cos(fPhi);
411 
412  ATH_MSG_DEBUG("end ALFA_LocRecCorr::UserTransform3DInStation()");
413 
414  return HepGeom::Transform3D(CLHEP::HepRotation(matRotation), vTranslation);
415 }
416 
418 {
419  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UserTransform3DInDetector(eRPotName eRPName)");
420  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UserTransform3DInDetector()");
421 
422  CLHEP::HepRep3x3 matRotation;
423  USERTRANSFORM structUserTransform;
424 
425  switch(eRPName)
426  {
427  case ERPN_B7L1U:
428  structUserTransform.fAngle = m_vecTransformInDetectorB7L1U[0];
431  break;
432  case ERPN_B7L1L:
433  structUserTransform.fAngle = m_vecTransformInDetectorB7L1L[0];
436  break;
437  case ERPN_A7L1U:
438  structUserTransform.fAngle = m_vecTransformInDetectorA7L1U[0];
441  break;
442  case ERPN_A7L1L:
443  structUserTransform.fAngle = m_vecTransformInDetectorA7L1L[0];
446  break;
447  case ERPN_A7R1U:
448  structUserTransform.fAngle = m_vecTransformInDetectorA7R1U[0];
451  break;
452  case ERPN_A7R1L:
453  structUserTransform.fAngle = m_vecTransformInDetectorA7R1L[0];
456  break;
457  case ERPN_B7R1U:
458  structUserTransform.fAngle = m_vecTransformInDetectorB7R1U[0];
461  break;
462  case ERPN_B7R1L:
463  structUserTransform.fAngle = m_vecTransformInDetectorB7R1L[0];
466  break;
467  default:
468  ATH_MSG_WARNING("Unknown Roman pot, detector transformation will be set to default (zero) values");
469  structUserTransform.fAngle = 0.0;
470  structUserTransform.vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
471  structUserTransform.vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
472  }
473 
474  double fPhi = structUserTransform.fAngle;
475 
476  CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.vecRotation);
477  CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.vecTranslation);
478 
479  matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - cos(fPhi)) + cos(fPhi);
480  matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - cos(fPhi)) - vRotation.z()*sin(fPhi);
481  matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - cos(fPhi)) + vRotation.y()*sin(fPhi);
482 
483  matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - cos(fPhi)) + vRotation.z()*sin(fPhi);
484  matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - cos(fPhi)) + cos(fPhi);
485  matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - cos(fPhi)) - vRotation.x()*sin(fPhi);
486 
487  matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - cos(fPhi)) - vRotation.y()*sin(fPhi);
488  matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - cos(fPhi)) + vRotation.x()*sin(fPhi);
489  matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - cos(fPhi)) + cos(fPhi);
490 
491  ATH_MSG_DEBUG("end ALFA_LocRecCorr::UserTransform3DInDetector()");
492 
493  return HepGeom::Transform3D(CLHEP::HepRotation(matRotation), vTranslation);
494 }
495 
496 HepGeom::Point3D<double> ALFA_LocRecCorr::Point3DInDetector(eRPotName eRPName)
497 {
498  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::Point3DInDetector(eRPotName eRPName)");
499  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Point3DInDetector()");
500 
501  HepGeom::Point3D<double> Point;
502 
503  switch(eRPName)
504  {
505  case ERPN_B7L1U:
507  break;
508  case ERPN_B7L1L:
510  break;
511  case ERPN_A7L1U:
513  break;
514  case ERPN_A7L1L:
516  break;
517  case ERPN_A7R1U:
519  break;
520  case ERPN_A7R1L:
522  break;
523  case ERPN_B7R1U:
525  break;
526  case ERPN_B7R1L:
528  break;
529  default:
530  ATH_MSG_WARNING("Unknown Roman pot, transformation point will be set to default (zero) value");
531  }
532 
533  ATH_MSG_DEBUG("end ALFA_LocRecCorr::Point3DInDetector()");
534 
535  return Point;
536 }
537 
539 {
540  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::RecordCollection()");
541  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::RecordCollection()");
542 
543  StatusCode sc = StatusCode::SUCCESS;
544 
547 
548  if (sc.isFailure())
549  {
550  ATH_MSG_FATAL("MD - Could not record the empty LocRecCorrEv collection in StoreGate");
551  return sc;
552  }
553  else
554  {
555  ATH_MSG_DEBUG("MD - LocRecCorrEv collection was recorded in StoreGate");
556  }
557 
558  ATH_MSG_DEBUG("end ALFA_LocRecCorr::RecordCollection()");
559 
560  return sc;
561 }
562 
564 {
565  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::RecordODCollection()");
566  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::RecordODCollection()");
567 
568  StatusCode sc = StatusCode::SUCCESS;
569 
572 
573  if (sc.isFailure())
574  {
575  ATH_MSG_FATAL("OD - Could not record the empty LocRecCorrEv collection in StoreGate");
576 
577  return sc;
578  }
579  else
580  {
581  ATH_MSG_DEBUG("OD - LocRecCorrEv collection is recorded in StoreGate");
582  }
583 
584  ATH_MSG_DEBUG("end ALFA_LocRecCorr::RecordODCollection()");
585 
586  return sc;
587 }
588 
590 {
591  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::AddCOOLFolderCallback()");
592  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::AddCOOLFolderCallback()");
593 
594  StatusCode sc=StatusCode::FAILURE;
595 
597  sc=detStore()->regFcn(&ALFA_LocRecCorr::COOLUpdate, this, DataPtr, szFolder, true);
598  if(sc!=StatusCode::SUCCESS)
599  {
600  ATH_MSG_ERROR("Cannot register COOL callback for folder '"<<szFolder<<"'");
601  }
602 
603  ATH_MSG_DEBUG("end ALFA_LocRecCorr::AddCOOLFolderCallback()");
604 
605  return sc;
606 }
607 
609 {
610  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::COOLUpdate()");
611  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::COOLUpdate()");
612 
613  int iChannel;
614  StatusCode sc=StatusCode::SUCCESS;
615  list<string>::const_iterator iter;
616  const CondAttrListCollection* listAttrColl;
618 
619  for(iter=keys.begin();iter!=keys.end();++iter)
620  {
621  if((*iter)=="/FWD/ALFA/position_calibration")
622  {
623  ATH_MSG_DEBUG(" IOV/COOL Notification '"<<"/FWD/ALFA/position_calibration"<<"'");
624 
625  if(detStore()->retrieve(listAttrColl,"/FWD/ALFA/position_calibration")==StatusCode::SUCCESS)
626  {
627  for(iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();++iterAttr)
628  {
629  iChannel=iterAttr->first; //RPot ID
630  m_Config.CfgRPosParams[iChannel].swcorr.fXOffset=((iterAttr->second)[0]).data<float>();
631  m_Config.CfgRPosParams[iChannel].swcorr.fTheta =((iterAttr->second)[1]).data<float>();
632  m_Config.CfgRPosParams[iChannel].swcorr.fYOffset=((iterAttr->second)[2]).data<float>();
633 
634  ATH_MSG_DEBUG("iChannel, fXOffset, fTheta, fYOffset = " << iChannel << ", " << m_Config.CfgRPosParams[iChannel].swcorr.fXOffset);
635  ATH_MSG_DEBUG(", " << m_Config.CfgRPosParams[iChannel].swcorr.fTheta << ", " << m_Config.CfgRPosParams[iChannel].swcorr.fYOffset);
636  }
637 
638  // update SW corrections - needs to be updated during the COOL DB check
639  if (UpdateGeometryAtlas())
640  {
641  ATH_MSG_DEBUG("Geometry for the SW corrections updated successfully");
642  }
643  else
644  {
645  ATH_MSG_FATAL("Unable to update a geometry of the SW corrections!");
646  ATH_MSG_DEBUG("end ALFA_LocRecCorr::COOLUpdate()");
647  return StatusCode::FAILURE;
648  }
649  }
650  else
651  {
652  ATH_MSG_ERROR("The folder '"<<"/FWD/ALFA/position_calibration"<<"' not found");
653  ATH_MSG_DEBUG("end ALFA_LocRecCorr::COOLUpdate()");
654  return StatusCode::FAILURE;
655  }
656  }
657  }
658 
659  ATH_MSG_DEBUG("end ALFA_LocRecCorr::COOLUpdate()");
660 
661  return sc;
662 }
663 
665 {
666  //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UpdateGeometryAtlas()");
667  ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UpdateGeometryAtlas()");
668 
670  {
671  ATH_MSG_DEBUG("Geometry successfully updated.");
673  }
674  else
675  {
676  ATH_MSG_FATAL("Cannot update geometry. Initialization process failed.");
677  ATH_MSG_DEBUG("end ALFA_LocRecCorr::UpdateGeometryAtlas()");
678  return false;
679  }
680 
681  ATH_MSG_DEBUG("end ALFA_LocRecCorr::UpdateGeometryAtlas()");
682  return true;
683 }
684 
686 {
687  eRPotName eRPName;
688  for(int i=0;i<RPOTSCNT;i++)
689  {
690  eRPName=(eRPotName)(i+1);
692  {
696  }
698  {
701  }
702  }
703 }
704 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ALFA_LocRecCorr::RecordCollection
StatusCode RecordCollection()
Definition: ALFA_LocRecCorr.cxx:538
ALFA_LocRecCorr::m_pointTransformInDetectorB7R1L
std::vector< double > m_pointTransformInDetectorB7R1L
Definition: ALFA_LocRecCorr.h:85
CFGRPPOSPARAMS::fYOffset
double fYOffset
Definition: ALFA_GeometryReader.h:182
ALFA_LocRecCorr::m_vecTransformInDetectorB7R1U
std::vector< double > m_vecTransformInDetectorB7R1U
Definition: ALFA_LocRecCorr.h:92
CondAttrListCollection::end
const_iterator end() const
Definition: CondAttrListCollection.h:315
ALFA_LocRecCorr::RecordODCollection
StatusCode RecordODCollection()
Definition: ALFA_LocRecCorr.cxx:563
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
ALFA_LocRecCorr::m_strKeyLocRecCorrEvCollection
std::string m_strKeyLocRecCorrEvCollection
Definition: ALFA_LocRecCorr.h:108
ALFA_LocRecCorr::m_pLocRecCorrEvCollection
ALFA_LocRecCorrEvCollection * m_pLocRecCorrEvCollection
Definition: ALFA_LocRecCorr.h:66
ALFA_LocRecCorr::COOLUpdate
StatusCode COOLUpdate(IOVSVC_CALLBACK_ARGS_P(, keys))
Definition: ALFA_LocRecCorr.cxx:608
ALFA_LocRecCorr::execute
StatusCode execute()
Definition: ALFA_LocRecCorr.cxx:231
ALFA_LocRecCorrODEvent
Definition: ALFA_LocRecCorrODEvent.h:8
ALFA_LocRecCorr::UserTransform3DInDetector
HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:417
_USERTRANSFORM::vecRotation
CLHEP::Hep3Vector vecRotation
Definition: ALFA_DetectorTool.h:21
ALFA_LocRecCorr::m_vecTransformInStationB7L1L
std::vector< double > m_vecTransformInStationB7L1L
Definition: ALFA_LocRecCorr.h:97
ALFA_LocRecCorr::m_strKeyGeometryForReco
std::string m_strKeyGeometryForReco
Definition: ALFA_LocRecCorr.h:105
EGST_IDEALGEOMETRY
@ EGST_IDEALGEOMETRY
Definition: ALFA_GeometryReader.h:23
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ERPN_B7R1U
@ ERPN_B7R1U
Definition: ALFA_GeometryReader.h:27
eRPotName
eRPotName
Definition: ALFA_GeometryReader.h:27
ALFA_LocRecCorr::initialize
StatusCode initialize()
Definition: ALFA_LocRecCorr.cxx:179
ALFA_LocRecCorr::m_strKeyLocRecODEvCollection
std::string m_strKeyLocRecODEvCollection
Definition: ALFA_LocRecCorr.h:107
EMT_SWCORRECTIONS
@ EMT_SWCORRECTIONS
Definition: ALFA_GeometryReader.h:24
ALFA_GeometryReader.h
ALFA_LocRecCorr::UserTransform3DInStation
HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:338
ERPN_A7L1U
@ ERPN_A7L1U
Definition: ALFA_GeometryReader.h:27
ALFA_LocRecCorr::m_pointTransformInDetectorA7R1U
std::vector< double > m_pointTransformInDetectorA7R1U
Definition: ALFA_LocRecCorr.h:86
RPOTSCNT
#define RPOTSCNT
Definition: ALFA_CLinkAlg.h:26
ALFA_LocRecCorr::m_vecTransformInStationB7R1U
std::vector< double > m_vecTransformInStationB7R1U
Definition: ALFA_LocRecCorr.h:100
ERPN_B7R1L
@ ERPN_B7R1L
Definition: ALFA_GeometryReader.h:27
CondAttrListCollection::begin
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
Definition: CondAttrListCollection.h:309
ALFA_LocRecCorr::m_pointTransformInDetectorA7L1U
std::vector< double > m_pointTransformInDetectorA7L1U
Definition: ALFA_LocRecCorr.h:82
ALFA_LocRecCorrEvCollection
Definition: ALFA_LocRecCorrEvCollection.h:13
CFGRPPOSPARAMS::fTheta
double fTheta
Definition: ALFA_GeometryReader.h:184
ALFA_LocRecCorr::m_vecTransformInDetectorB7R1L
std::vector< double > m_vecTransformInDetectorB7R1L
Definition: ALFA_LocRecCorr.h:93
ALFA_GeometryReader::GetDetPointInRPot
HepGeom::Point3D< double > GetDetPointInRPot(eRPotName eRPName, const HepGeom::Point3D< double > &PointInDetCS)
Definition: ALFA_GeometryReader.cxx:2751
IOVSVC_CALLBACK_ARGS_P
#define IOVSVC_CALLBACK_ARGS_P(I, K)
short hand for IOVSvc call back argument list, to be used when access to formal arguments is needed,...
Definition: IOVSvcDefs.h:42
CFGRPPOSPARAMS::fXOffset
double fXOffset
Definition: ALFA_GeometryReader.h:183
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
Point
ChargedTracksWeightFilter::Spline::Point Point
Definition: ChargedTracksWeightFilter.cxx:11
GEOMETRYCONFIGURATION::clear
void clear()
Definition: ALFA_GeometryReader.cxx:72
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
EMT_NOMINAL
@ EMT_NOMINAL
Definition: ALFA_GeometryReader.h:24
CFGRPPOSPARAMS::strODConnString
std::string strODConnString
Definition: ALFA_GeometryReader.h:178
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
CFGRPPOSPARAMS::strMDConnString
std::string strMDConnString
Definition: ALFA_GeometryReader.h:177
CFGRPPOSPARAMS::fCurrentLVDTmm
double fCurrentLVDTmm
Definition: ALFA_GeometryReader.h:180
CFGRPPOSPARAMS::UserTransformOfDetInRPot
HepGeom::Transform3D UserTransformOfDetInRPot
Definition: ALFA_GeometryReader.h:190
ALFA_LocRecCorr::AddCOOLFolderCallback
StatusCode AddCOOLFolderCallback(const std::string &szFolder)
Definition: ALFA_LocRecCorr.cxx:589
ALFA_LocRecODEvCollection
Definition: ALFA_LocRecODEvCollection.h:13
ALFA_LocRecCorr::m_vecTransformInDetectorA7R1L
std::vector< double > m_vecTransformInDetectorA7R1L
Definition: ALFA_LocRecCorr.h:95
ALFA_LocRecCorr::m_vecTransformInStationA7R1U
std::vector< double > m_vecTransformInStationA7R1U
Definition: ALFA_LocRecCorr.h:102
ALFA_LocRecCorrODEvCollection
Definition: ALFA_LocRecCorrODEvCollection.h:13
ALFA_LocRecCorr::m_vecTransformInStationA7L1L
std::vector< double > m_vecTransformInStationA7L1L
Definition: ALFA_LocRecCorr.h:99
ALFA_LocRecCorr::m_bIsTransformInDetector
std::vector< bool > m_bIsTransformInDetector
Definition: ALFA_LocRecCorr.h:79
CFGRPPOSPARAMS::swcorr
struct CFGRPPOSPARAMS::@51 swcorr
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
ALFA_LocRecCorr::m_Config
GEOMETRYCONFIGURATION m_Config
Definition: ALFA_LocRecCorr.h:59
CFGRPPOSPARAMS::bIsEnabledUserTranform
bool bIsEnabledUserTranform
Definition: ALFA_GeometryReader.h:188
_USERTRANSFORM::vecTranslation
CLHEP::Hep3Vector vecTranslation
Definition: ALFA_DetectorTool.h:22
ALFA_LocRecCorr::m_strLocRecCollectionName
std::string m_strLocRecCollectionName
Definition: ALFA_LocRecCorr.h:72
ALFA_LocRecCorr::m_vecTransformInStationB7L1U
std::vector< double > m_vecTransformInStationB7L1U
Definition: ALFA_LocRecCorr.h:96
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ALFA_LocRecCorr::m_vecTransformInStationA7R1L
std::vector< double > m_vecTransformInStationA7R1L
Definition: ALFA_LocRecCorr.h:103
ERPPT_ACTIVE
@ ERPPT_ACTIVE
Definition: ALFA_GeometryReader.h:28
ALFA_LocRecCorr::m_pGeometryReader
ALFA_GeometryReader * m_pGeometryReader
Definition: ALFA_LocRecCorr.h:60
ERPN_B7L1U
@ ERPN_B7L1U
Definition: ALFA_GeometryReader.h:27
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ALFA_LocRecCorr::m_bCoolData
bool m_bCoolData
Definition: ALFA_LocRecCorr.h:69
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ALFA_LocRecCorr.h
ALFA_LocRecCorrEvent
Definition: ALFA_LocRecCorrEvent.h:8
ALFA_GeometryReader::Initialize
bool Initialize(const PGEOMETRYCONFIGURATION pConfig, eFiberCoordSystem eFCoordSystem)
Definition: ALFA_GeometryReader.cxx:634
ALFA_LocRecCorr::UpdateGeometryAtlas
bool UpdateGeometryAtlas()
Definition: ALFA_LocRecCorr.cxx:664
ALFA_LocRecCorr::ALFA_LocRecCorr
ALFA_LocRecCorr(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ALFA_LocRecCorr.cxx:13
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
ERPN_B7L1L
@ ERPN_B7L1L
Definition: ALFA_GeometryReader.h:27
GEOMETRYCONFIGURATION::CfgRPosParams
CFGRPPOSPARAMS CfgRPosParams[RPOTSCNT]
Definition: ALFA_GeometryReader.h:205
ALFA_LocRecCorr::m_pointTransformInDetectorB7R1U
std::vector< double > m_pointTransformInDetectorB7R1U
Definition: ALFA_LocRecCorr.h:84
ALFA_LocRecCorr::m_pointTransformInDetectorB7L1L
std::vector< double > m_pointTransformInDetectorB7L1L
Definition: ALFA_LocRecCorr.h:81
AthAlgorithm
Definition: AthAlgorithm.h:47
CFGRPPOSPARAMS::usercorr
struct CFGRPPOSPARAMS::@52 usercorr
ALFA_LocRecCorr::m_TransMatrixSt
HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT]
Definition: ALFA_LocRecCorr.h:116
ERPN_A7R1L
@ ERPN_A7R1L
Definition: ALFA_GeometryReader.h:27
ALFA_LocRecCorr::m_iEvt
Int_t m_iEvt
Definition: ALFA_LocRecCorr.h:76
GEOMETRYCONFIGURATION::eRPMetrologyGeoType
int eRPMetrologyGeoType
Definition: ALFA_GeometryReader.h:197
ALFA_LocRecEvCollection
Definition: ALFA_LocRecEvCollection.h:13
ALFA_GeometryReader::GetDetPointInAtlas
HepGeom::Point3D< double > GetDetPointInAtlas(eRPotName eRPName, const HepGeom::Point3D< double > &PointInDetCS)
Definition: ALFA_GeometryReader.cxx:2725
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
ALFA_LocRecCorr::m_vecTransformInDetectorA7R1U
std::vector< double > m_vecTransformInDetectorA7R1U
Definition: ALFA_LocRecCorr.h:94
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
errorcheck.h
Helpers for checking error return status codes and reporting errors.
ALFA_LocRecCorr::m_vecTransformInDetectorB7L1U
std::vector< double > m_vecTransformInDetectorB7L1U
Definition: ALFA_LocRecCorr.h:88
_USERTRANSFORM::fAngle
double fAngle
Definition: ALFA_DetectorTool.h:20
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
DataHandle< CondAttrListCollection >
ALFA_LocRecCorr::m_strKeyLocRecCorrODEvCollection
std::string m_strKeyLocRecCorrODEvCollection
Definition: ALFA_LocRecCorr.h:109
ALFA_LocRecCorr::SetNominalGeometry
void SetNominalGeometry()
Definition: ALFA_LocRecCorr.cxx:685
ALFA_LocRecCorr::m_vecTransformInDetectorA7L1L
std::vector< double > m_vecTransformInDetectorA7L1L
Definition: ALFA_LocRecCorr.h:91
ALFA_LocRecCorr::m_pointTransformInDetectorA7L1L
std::vector< double > m_pointTransformInDetectorA7L1L
Definition: ALFA_LocRecCorr.h:83
CFGRPPOSPARAMS::UserOriginOfDetTransInRPot
HepGeom::Point3D< double > UserOriginOfDetTransInRPot
Definition: ALFA_GeometryReader.h:189
ALFA_LocRecCorr::m_ListExistingRPots
std::list< eRPotName > m_ListExistingRPots
Definition: ALFA_LocRecCorr.h:70
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
CFGRPPOSPARAMS::eODGeoType
int eODGeoType
Definition: ALFA_GeometryReader.h:176
ERPN_A7R1U
@ ERPN_A7R1U
Definition: ALFA_GeometryReader.h:27
ALFA_LocRecCorr::m_vecTransformInDetectorA7L1U
std::vector< double > m_vecTransformInDetectorA7L1U
Definition: ALFA_LocRecCorr.h:90
ALFA_GeometryReader::GetListOfExistingRPotIDs
void GetListOfExistingRPotIDs(std::list< eRPotName > *pListRPotName)
Definition: ALFA_GeometryReader.cxx:1829
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
ALFA_LocRecCorr::m_pLocRecCorrODEvCollection
ALFA_LocRecCorrODEvCollection * m_pLocRecCorrODEvCollection
Definition: ALFA_LocRecCorr.h:67
EFCS_ATLAS
@ EFCS_ATLAS
Definition: ALFA_GeometryReader.h:29
CFGRPPOSPARAMS::eRPPosType
int eRPPosType
Definition: ALFA_GeometryReader.h:174
_USERTRANSFORM
Definition: ALFA_DetectorTool.h:18
ALFA_LocRecCorr::m_pointTransformInDetectorB7L1U
std::vector< double > m_pointTransformInDetectorB7L1U
Definition: ALFA_LocRecCorr.h:80
ALFA_LocRecCorr::m_strKeyLocRecEvCollection
std::string m_strKeyLocRecEvCollection
Definition: ALFA_LocRecCorr.h:106
GEOMETRYCONFIGURATION::bShiftToX97Pos
bool bShiftToX97Pos
Definition: ALFA_GeometryReader.h:199
ALFA_LocRecCorr::m_pointTransformInDetectorA7R1L
std::vector< double > m_pointTransformInDetectorA7R1L
Definition: ALFA_LocRecCorr.h:87
CFGRPPOSPARAMS::UserTransformOfRPInStation
HepGeom::Transform3D UserTransformOfRPInStation
Definition: ALFA_GeometryReader.h:191
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
ALFA_LocRecCorr::m_bIsTransformInStation
std::vector< bool > m_bIsTransformInStation
Definition: ALFA_LocRecCorr.h:78
ALFA_LocRecCorr::finalize
StatusCode finalize()
Definition: ALFA_LocRecCorr.cxx:324
ALFA_LocRecCorr::m_iDataType
Int_t m_iDataType
Definition: ALFA_LocRecCorr.h:75
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
GEOMETRYCONFIGURATION::strRPMetrologyConnString
std::string strRPMetrologyConnString
Definition: ALFA_GeometryReader.h:198
ERPN_A7L1L
@ ERPN_A7L1L
Definition: ALFA_GeometryReader.h:27
ALFA_LocRecCorr::m_strLocRecODCollectionName
std::string m_strLocRecODCollectionName
Definition: ALFA_LocRecCorr.h:73
ALFA_LocRecCorr::m_vecTransformInStationA7L1U
std::vector< double > m_vecTransformInStationA7L1U
Definition: ALFA_LocRecCorr.h:98
ALFA_LocRecCorr::Point3DInDetector
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:496
ALFA_LocRecCorr::m_vecTransformInStationB7R1L
std::vector< double > m_vecTransformInStationB7R1L
Definition: ALFA_LocRecCorr.h:101
CFGRPPOSPARAMS::eMDGeoType
int eMDGeoType
Definition: ALFA_GeometryReader.h:175
ALFA_LocRecCorr::~ALFA_LocRecCorr
~ALFA_LocRecCorr()
Definition: ALFA_LocRecCorr.cxx:171
ALFA_LocRecCorr::m_vecTransformInDetectorB7L1L
std::vector< double > m_vecTransformInDetectorB7L1L
Definition: ALFA_LocRecCorr.h:89
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.