ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_LocRecCorr Class Reference

#include <ALFA_LocRecCorr.h>

Inheritance diagram for ALFA_LocRecCorr:
Collaboration diagram for ALFA_LocRecCorr:

Public Member Functions

 ALFA_LocRecCorr (const std::string &name, ISvcLocator *pSvcLocator)
 ~ALFA_LocRecCorr ()
StatusCode initialize ()
StatusCode execute ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool UpdateGeometryAtlas ()
void SetNominalGeometry ()
StatusCode RecordCollection ()
StatusCode RecordODCollection ()
HepGeom::Transform3D UserTransform3DInDetector (eRPotName eRPName)
HepGeom::Transform3D UserTransform3DInStation (eRPotName eRPName)
HepGeom::Point3D< double > Point3DInDetector (eRPotName eRPName)
StatusCode COOLUpdate ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

GEOMETRYCONFIGURATION m_Config
ALFA_GeometryReaderm_pGeometryReader
ALFA_LocRecCorrEvCollectionm_pLocRecCorrEvCollection
ALFA_LocRecCorrODEvCollectionm_pLocRecCorrODEvCollection
bool m_bCoolData
std::list< eRPotNamem_ListExistingRPots
std::string m_strLocRecCollectionName
std::string m_strLocRecODCollectionName
Int_t m_iDataType
Int_t m_iEvt
std::vector< bool > m_bIsTransformInStation
std::vector< bool > m_bIsTransformInDetector
std::vector< double > m_pointTransformInDetectorB7L1U
std::vector< double > m_pointTransformInDetectorB7L1L
std::vector< double > m_pointTransformInDetectorA7L1U
std::vector< double > m_pointTransformInDetectorA7L1L
std::vector< double > m_pointTransformInDetectorB7R1U
std::vector< double > m_pointTransformInDetectorB7R1L
std::vector< double > m_pointTransformInDetectorA7R1U
std::vector< double > m_pointTransformInDetectorA7R1L
std::vector< double > m_vecTransformInDetectorB7L1U
std::vector< double > m_vecTransformInDetectorB7L1L
std::vector< double > m_vecTransformInDetectorA7L1U
std::vector< double > m_vecTransformInDetectorA7L1L
std::vector< double > m_vecTransformInDetectorB7R1U
std::vector< double > m_vecTransformInDetectorB7R1L
std::vector< double > m_vecTransformInDetectorA7R1U
std::vector< double > m_vecTransformInDetectorA7R1L
std::vector< double > m_vecTransformInStationB7L1U
std::vector< double > m_vecTransformInStationB7L1L
std::vector< double > m_vecTransformInStationA7L1U
std::vector< double > m_vecTransformInStationA7L1L
std::vector< double > m_vecTransformInStationB7R1U
std::vector< double > m_vecTransformInStationB7R1L
std::vector< double > m_vecTransformInStationA7R1U
std::vector< double > m_vecTransformInStationA7R1L
std::string m_strKeyGeometryForReco
std::string m_strKeyLocRecEvCollection
std::string m_strKeyLocRecODEvCollection
std::string m_strKeyLocRecCorrEvCollection
std::string m_strKeyLocRecCorrODEvCollection
std::string m_strCollectionName
std::string m_strODCollectionName
std::string m_strTruthCollectionName
std::string m_strKeyRawDataCollection
std::string m_rootInputFileName
HepGeom::Transform3D m_TransMatrixSt [RPOTSCNT]
HepGeom::Transform3D m_TransMatrixLHC [RPOTSCNT]
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 52 of file ALFA_LocRecCorr.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ALFA_LocRecCorr()

ALFA_LocRecCorr::ALFA_LocRecCorr ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 14 of file ALFA_LocRecCorr.cxx.

14 :
15AthAlgorithm(name, pSvcLocator)
16{
17 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::ALFA_LocRecCorr");
18 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::ALFA_LocRecCorr");
19
20 m_pGeometryReader = nullptr;
21
22// m_Config.eOwner=EOT_RECO;
23 m_Config.clear();
24
25 //begin of Geometry properties
26 declareProperty("MetrologyType",m_Config.eRPMetrologyGeoType=EMT_NOMINAL);//EGST_FILE
27 declareProperty("MetrologySource",m_Config.strRPMetrologyConnString=string(""));//"rpmetrology.dat"
28 declareProperty("ShiftToX97Pos",m_Config.bShiftToX97Pos=false);
29
30 declareProperty("B7L1U_PosType",m_Config.CfgRPosParams[0].eRPPosType=ERPPT_ACTIVE);
31 declareProperty("B7L1U_MDGeometryType",m_Config.CfgRPosParams[0].eMDGeoType=EGST_IDEALGEOMETRY);
32 declareProperty("B7L1U_ODGeometryType",m_Config.CfgRPosParams[0].eODGeoType=EGST_IDEALGEOMETRY);
33 declareProperty("B7L1U_MDSource",m_Config.CfgRPosParams[0].strMDConnString=string(""));
34 declareProperty("B7L1U_ODSource",m_Config.CfgRPosParams[0].strODConnString=string(""));
35 declareProperty("B7L1U_CurrentLVDT",m_Config.CfgRPosParams[0].fCurrentLVDTmm=7.0*CLHEP::mm);
36
37 declareProperty("B7L1L_PosType",m_Config.CfgRPosParams[1].eRPPosType=ERPPT_ACTIVE);
38 declareProperty("B7L1L_MDGeometryType",m_Config.CfgRPosParams[1].eMDGeoType=EGST_IDEALGEOMETRY);
39 declareProperty("B7L1L_ODGeometryType",m_Config.CfgRPosParams[1].eODGeoType=EGST_IDEALGEOMETRY);
40 declareProperty("B7L1L_MDSource",m_Config.CfgRPosParams[1].strMDConnString=string(""));
41 declareProperty("B7L1L_ODSource",m_Config.CfgRPosParams[1].strODConnString=string(""));
42 declareProperty("B7L1L_CurrentLVDT",m_Config.CfgRPosParams[1].fCurrentLVDTmm=7.0*CLHEP::mm);
43
44 declareProperty("A7L1U_PosType",m_Config.CfgRPosParams[2].eRPPosType=ERPPT_ACTIVE);
45 declareProperty("A7L1U_MDGeometryType",m_Config.CfgRPosParams[2].eMDGeoType=EGST_IDEALGEOMETRY);
46 declareProperty("A7L1U_ODGeometryType",m_Config.CfgRPosParams[2].eODGeoType=EGST_IDEALGEOMETRY);
47 declareProperty("A7L1U_MDSource",m_Config.CfgRPosParams[2].strMDConnString=string(string("")));
48 declareProperty("A7L1U_ODSource",m_Config.CfgRPosParams[2].strODConnString=string(string("")));
49 declareProperty("A7L1U_CurrentLVDT",m_Config.CfgRPosParams[2].fCurrentLVDTmm=7.0*CLHEP::mm);
50
51 declareProperty("A7L1L_PosType",m_Config.CfgRPosParams[3].eRPPosType=ERPPT_ACTIVE);
52 declareProperty("A7L1L_MDGeometryType",m_Config.CfgRPosParams[3].eMDGeoType=EGST_IDEALGEOMETRY);
53 declareProperty("A7L1L_ODGeometryType",m_Config.CfgRPosParams[3].eODGeoType=EGST_IDEALGEOMETRY);
54 declareProperty("A7L1L_MDSource",m_Config.CfgRPosParams[3].strMDConnString=string(""));
55 declareProperty("A7L1L_ODSource",m_Config.CfgRPosParams[3].strODConnString=string(""));
56 declareProperty("A7L1L_CurrentLVDT",m_Config.CfgRPosParams[3].fCurrentLVDTmm=7.0*CLHEP::mm);
57
58 declareProperty("A7R1U_PosType",m_Config.CfgRPosParams[4].eRPPosType=ERPPT_ACTIVE);
59 declareProperty("A7R1U_MDGeometryType",m_Config.CfgRPosParams[4].eMDGeoType=EGST_IDEALGEOMETRY);
60 declareProperty("A7R1U_ODGeometryType",m_Config.CfgRPosParams[4].eODGeoType=EGST_IDEALGEOMETRY);
61 declareProperty("A7R1U_MDSource",m_Config.CfgRPosParams[4].strMDConnString=string(""));
62 declareProperty("A7R1U_ODSource",m_Config.CfgRPosParams[4].strODConnString=string(""));
63 declareProperty("A7R1U_CurrentLVDT",m_Config.CfgRPosParams[4].fCurrentLVDTmm=7.0*CLHEP::mm);
64
65 declareProperty("A7R1L_PosType",m_Config.CfgRPosParams[5].eRPPosType=ERPPT_ACTIVE);
66 declareProperty("A7R1L_MDGeometryType",m_Config.CfgRPosParams[5].eMDGeoType=EGST_IDEALGEOMETRY);
67 declareProperty("A7R1L_ODGeometryType",m_Config.CfgRPosParams[5].eODGeoType=EGST_IDEALGEOMETRY);
68 declareProperty("A7R1L_MDSource",m_Config.CfgRPosParams[5].strMDConnString=string(""));
69 declareProperty("A7R1L_ODSource",m_Config.CfgRPosParams[5].strODConnString=string(""));
70 declareProperty("A7R1L_CurrentLVDT",m_Config.CfgRPosParams[5].fCurrentLVDTmm=7.0*CLHEP::mm);
71
72 declareProperty("B7R1U_PosType",m_Config.CfgRPosParams[6].eRPPosType=ERPPT_ACTIVE);
73 declareProperty("B7R1U_MDGeometryType",m_Config.CfgRPosParams[6].eMDGeoType=EGST_IDEALGEOMETRY);
74 declareProperty("B7R1U_ODGeometryType",m_Config.CfgRPosParams[6].eODGeoType=EGST_IDEALGEOMETRY);
75 declareProperty("B7R1U_MDSource",m_Config.CfgRPosParams[6].strMDConnString=string(""));
76 declareProperty("B7R1U_ODSource",m_Config.CfgRPosParams[6].strODConnString=string(""));
77 declareProperty("B7R1U_CurrentLVDT",m_Config.CfgRPosParams[6].fCurrentLVDTmm=7.0*CLHEP::mm);
78
79 declareProperty("B7R1L_PosType",m_Config.CfgRPosParams[7].eRPPosType=ERPPT_ACTIVE);
80 declareProperty("B7R1L_MDGeometryType",m_Config.CfgRPosParams[7].eMDGeoType=EGST_IDEALGEOMETRY);
81 declareProperty("B7R1L_ODGeometryType",m_Config.CfgRPosParams[7].eODGeoType=EGST_IDEALGEOMETRY);
82 declareProperty("B7R1L_MDSource",m_Config.CfgRPosParams[7].strMDConnString=string(""));
83 declareProperty("B7R1L_ODSource",m_Config.CfgRPosParams[7].strODConnString=string(""));
84 declareProperty("B7R1L_CurrentLVDT",m_Config.CfgRPosParams[7].fCurrentLVDTmm=7.0*CLHEP::mm);
85 //end of Geometry properties
86
87 //for transformations
88 m_bIsTransformInStation.assign(8, false);
89 m_bIsTransformInDetector.assign(8, false);
90
99
100 m_vecTransformInDetectorB7L1U.assign(7, 0.0);
101 m_vecTransformInDetectorB7L1L.assign(7, 0.0);
102 m_vecTransformInDetectorA7L1U.assign(7, 0.0);
103 m_vecTransformInDetectorA7L1L.assign(7, 0.0);
104 m_vecTransformInDetectorB7R1U.assign(7, 0.0);
105 m_vecTransformInDetectorB7R1L.assign(7, 0.0);
106 m_vecTransformInDetectorA7R1U.assign(7, 0.0);
107 m_vecTransformInDetectorA7R1L.assign(7, 0.0);
108
109 m_vecTransformInStationB7L1U.assign(7, 0.0);
110 m_vecTransformInStationB7L1L.assign(7, 0.0);
111 m_vecTransformInStationA7L1U.assign(7, 0.0);
112 m_vecTransformInStationA7L1L.assign(7, 0.0);
113 m_vecTransformInStationB7R1U.assign(7, 0.0);
114 m_vecTransformInStationB7R1L.assign(7, 0.0);
115 m_vecTransformInStationA7R1U.assign(7, 0.0);
116 m_vecTransformInStationA7R1L.assign(7, 0.0);
117
118 declareProperty("bIsTransformInStation", m_bIsTransformInStation, "status if transformation in station will be calculated");
119 declareProperty("bIsTransformInDetector", m_bIsTransformInDetector, "status if transformation in station will be calculated");
120
121 declareProperty("pointTransformInDetectorB7L1U", m_pointTransformInDetectorB7L1U, "transformation point in the detectorfor B7L1U RP");
122 declareProperty("pointTransformInDetectorB7L1L", m_pointTransformInDetectorB7L1L, "transformation point in the detectorfor B7L1L RP");
123 declareProperty("pointTransformInDetectorA7L1U", m_pointTransformInDetectorA7L1U, "transformation point in the detectorfor A7L1U RP");
124 declareProperty("pointTransformInDetectorA7L1L", m_pointTransformInDetectorA7L1L, "transformation point in the detectorfor A7L1L RP");
125 declareProperty("pointTransformInDetectorA7R1U", m_pointTransformInDetectorA7R1U, "transformation point in the detectorfor A7R1U RP");
126 declareProperty("pointTransformInDetectorA7R1L", m_pointTransformInDetectorA7R1L, "transformation point in the detectorfor A7R1L RP");
127 declareProperty("pointTransformInDetectorB7R1U", m_pointTransformInDetectorB7R1U, "transformation point in the detectorfor B7R1U RP");
128 declareProperty("pointTransformInDetectorB7R1L", m_pointTransformInDetectorB7R1L, "transformation point in the detectorfor B7R1L RP");
129
130 declareProperty("vecTransformInDetectorB7L1U", m_vecTransformInDetectorB7L1U, "transformation data in the detectorfor B7L1U RP");
131 declareProperty("vecTransformInDetectorB7L1L", m_vecTransformInDetectorB7L1L, "transformation data in the detectorfor B7L1L RP");
132 declareProperty("vecTransformInDetectorA7L1U", m_vecTransformInDetectorA7L1U, "transformation data in the detectorfor A7L1U RP");
133 declareProperty("vecTransformInDetectorA7L1L", m_vecTransformInDetectorA7L1L, "transformation data in the detectorfor A7L1L RP");
134 declareProperty("vecTransformInDetectorA7R1U", m_vecTransformInDetectorA7R1U, "transformation data in the detectorfor A7R1U RP");
135 declareProperty("vecTransformInDetectorA7R1L", m_vecTransformInDetectorA7R1L, "transformation data in the detectorfor A7R1L RP");
136 declareProperty("vecTransformInDetectorB7R1U", m_vecTransformInDetectorB7R1U, "transformation data in the detectorfor B7R1U RP");
137 declareProperty("vecTransformInDetectorB7R1L", m_vecTransformInDetectorB7R1L, "transformation data in the detectorfor B7R1L RP");
138
139 declareProperty("vecTransformInStationB7L1U", m_vecTransformInStationB7L1U, "transformation data in the stationfor B7L1U RP");
140 declareProperty("vecTransformInStationB7L1L", m_vecTransformInStationB7L1L, "transformation data in the stationfor B7L1L RP");
141 declareProperty("vecTransformInStationA7L1U", m_vecTransformInStationA7L1U, "transformation data in the stationfor A7L1U RP");
142 declareProperty("vecTransformInStationA7L1L", m_vecTransformInStationA7L1L, "transformation data in the stationfor A7L1L RP");
143 declareProperty("vecTransformInStationA7R1U", m_vecTransformInStationA7R1U, "transformation data in the stationfor A7R1U RP");
144 declareProperty("vecTransformInStationA7R1L", m_vecTransformInStationA7R1L, "transformation data in the stationfor A7R1L RP");
145 declareProperty("vecTransformInStationB7R1U", m_vecTransformInStationB7R1U, "transformation data in the stationfor B7R1U RP");
146 declareProperty("vecTransformInStationB7R1L", m_vecTransformInStationB7R1L, "transformation data in the stationfor B7R1L RP");
147
148 m_ListExistingRPots.clear();
149
150 // data type using in the local reconstruction
151 // for the simulation data the value is 0, for the real data the value is 1. Unset value is -1
152 declareProperty("DataType", m_iDataType=1, "data type using in the local reconstruction");
153
154 m_strKeyGeometryForReco = "ALFA_GeometryForReco";
155 m_strLocRecCollectionName = "ALFA_LocRecEvCollection";
156 m_strLocRecODCollectionName = "ALFA_LocRecODEvCollection";
157 m_strKeyLocRecEvCollection = "ALFA_LocRecEvCollection";
158 m_strKeyLocRecODEvCollection = "ALFA_LocRecODEvCollection";
159 m_strKeyLocRecCorrEvCollection = "ALFA_LocRecCorrEvCollection";
160 m_strKeyLocRecCorrODEvCollection = "ALFA_LocRecCorrODEvCollection";
161
162 m_bCoolData = true;
163 declareProperty("CoolData", m_bCoolData);
164
167 m_iEvt = 0;
168
169 ATH_MSG_DEBUG("end ALFA_LocRecCorr::ALFA_LocRecCorr");
170}
@ ERPPT_ACTIVE
@ EGST_IDEALGEOMETRY
@ EMT_NOMINAL
#define ATH_MSG_DEBUG(x)
std::vector< double > m_vecTransformInStationB7R1U
ALFA_LocRecCorrEvCollection * m_pLocRecCorrEvCollection
std::vector< double > m_vecTransformInStationA7R1U
std::string m_strKeyLocRecCorrODEvCollection
ALFA_GeometryReader * m_pGeometryReader
std::vector< bool > m_bIsTransformInDetector
std::vector< double > m_vecTransformInStationB7R1L
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
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
std::vector< double > m_vecTransformInStationA7L1L
std::string m_strLocRecCollectionName
std::vector< double > m_vecTransformInStationB7L1U
std::vector< double > m_pointTransformInDetectorB7L1L
std::vector< double > m_pointTransformInDetectorA7L1U
std::vector< double > m_vecTransformInStationB7L1L
std::vector< double > m_pointTransformInDetectorB7R1L
std::string m_strLocRecODCollectionName
std::vector< bool > m_bIsTransformInStation
ALFA_LocRecCorrODEvCollection * m_pLocRecCorrODEvCollection
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()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ ~ALFA_LocRecCorr()

ALFA_LocRecCorr::~ALFA_LocRecCorr ( )

Definition at line 172 of file ALFA_LocRecCorr.cxx.

173{
174 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::~ALFA_LocRecCorr");
175 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::~ALFA_LocRecCorr");
176
177 ATH_MSG_DEBUG("end ALFA_LocRecCorr::~ALFA_LocRecCorr");
178}

Member Function Documentation

◆ COOLUpdate()

StatusCode ALFA_LocRecCorr::COOLUpdate ( )
private

Definition at line 561 of file ALFA_LocRecCorr.cxx.

562{
563 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::COOLUpdate()");
564
565 SG::ReadCondHandleKey<CondAttrListCollection> key("/FWD/ALFA/position_calibration");
566 SG::ReadCondHandle<CondAttrListCollection> listAttrColl(key);
567 ATH_CHECK( listAttrColl.isValid() );
568
569 for(CondAttrListCollection::const_iterator iterAttr=listAttrColl->begin();iterAttr!=listAttrColl->end();++iterAttr)
570 {
571 int iChannel=iterAttr->first; //RPot ID
572 m_Config.CfgRPosParams[iChannel].swcorr.fXOffset=((iterAttr->second)[0]).data<float>();
573 m_Config.CfgRPosParams[iChannel].swcorr.fTheta =((iterAttr->second)[1]).data<float>();
574 m_Config.CfgRPosParams[iChannel].swcorr.fYOffset=((iterAttr->second)[2]).data<float>();
575
576 ATH_MSG_DEBUG("iChannel, fXOffset, fTheta, fYOffset = " << iChannel << ", " << m_Config.CfgRPosParams[iChannel].swcorr.fXOffset);
577 ATH_MSG_DEBUG(", " << m_Config.CfgRPosParams[iChannel].swcorr.fTheta << ", " << m_Config.CfgRPosParams[iChannel].swcorr.fYOffset);
578 }
579
580 // update SW corrections - needs to be updated during the COOL DB check
582 {
583 ATH_MSG_DEBUG("Geometry for the SW corrections updated successfully");
584 }
585 else
586 {
587 ATH_MSG_FATAL("Unable to update a geometry of the SW corrections!");
588 ATH_MSG_DEBUG("end ALFA_LocRecCorr::COOLUpdate()");
589 return StatusCode::FAILURE;
590 }
591
592 return StatusCode::SUCCESS;
593}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
ChanAttrListMap::const_iterator const_iterator

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode ALFA_LocRecCorr::execute ( )

Definition at line 217 of file ALFA_LocRecCorr.cxx.

218{
219 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Execute()");
220
221 StatusCode sc = StatusCode::SUCCESS;
222
224 if (sc.isFailure())
225 {
226 ATH_MSG_ERROR("ALFA_LocRecCorr recordCollection failed");
227 return StatusCode::SUCCESS;
228 }
229
231 if (sc.isFailure())
232 {
233 ATH_MSG_ERROR("ALFA_LocRecCorr recordODCollection failed");
234 return StatusCode::SUCCESS;
235 }
236
237 int iRPot, iSide;
238 int iAlgo;
239 double fRecPosX = -9999.0, fRecPosY = -9999.0, fRecPosOD = -9999.0;
240 HepGeom::Point3D<double> PointInDetCS;
241 HepGeom::Point3D<double> PointInPotCS;
242 HepGeom::Point3D<double> PointInStatCS;
243 HepGeom::Point3D<double> PointInAtlasCS;
244
245 const ALFA_LocRecEvCollection* pLocRecCorrCol = nullptr;
246 const ALFA_LocRecODEvCollection* pLocRecCorrODCol = nullptr;
247
248 sc = evtStore()->retrieve(pLocRecCorrCol, m_strLocRecCollectionName);
249 if(sc.isFailure() || !pLocRecCorrCol)
250 {
251 ATH_MSG_ERROR("Container "<< m_strLocRecCollectionName <<" NOT FOUND !!!!!!!");
252// return StatusCode::FAILURE;
253 }
254 else
255 {
256 ALFA_LocRecEvCollection::const_iterator mcColBeg = pLocRecCorrCol->begin();
257 ALFA_LocRecEvCollection::const_iterator mcColEnd = pLocRecCorrCol->end();
258
259 //loop over collection (container) with hits (i.e. over 1 event)
260 for(; mcColBeg!=mcColEnd; ++mcColBeg)
261 {
262 iAlgo = (*mcColBeg)->getAlgoNum();
263 iRPot = (*mcColBeg)->getPotNum();
264 fRecPosX = (*mcColBeg)->getXposition();
265 fRecPosY = (*mcColBeg)->getYposition();
266
267 PointInDetCS = HepGeom::Point3D<double>(fRecPosX, fRecPosY, 10.0);
268 PointInAtlasCS = m_pGeometryReader->GetDetPointInAtlas((eRPotName)(iRPot+1), PointInDetCS);
269 PointInPotCS = m_pGeometryReader->GetDetPointInRPot((eRPotName)(iRPot+1), PointInDetCS);
270 PointInStatCS = m_TransMatrixSt[iRPot]*PointInDetCS;
271
272 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));
273 }
274 }
275
276 sc = evtStore()->retrieve(pLocRecCorrODCol, m_strLocRecODCollectionName);
277 if(sc.isFailure() || !pLocRecCorrODCol)
278 {
279 ATH_MSG_ERROR("Container "<< m_strLocRecODCollectionName <<" NOT FOUND !!!!!!!");
280// return StatusCode::FAILURE;
281 }
282 else
283 {
284 ALFA_LocRecODEvCollection::const_iterator mcColODBeg = pLocRecCorrODCol->begin();
285 ALFA_LocRecODEvCollection::const_iterator mcColODEnd = pLocRecCorrODCol->end();
286
287 //loop over collection (container) with hits (i.e. over 1 event)
288 Int_t iSign;
289 for(; mcColODBeg!=mcColODEnd; ++mcColODBeg)
290 {
291 iAlgo = (*mcColODBeg)->getAlgoNum();
292 iRPot = (*mcColODBeg)->getPotNum();
293 iSide = (*mcColODBeg)->getSide();
294 fRecPosOD = (*mcColODBeg)->getYposition();
295
296 iSign = (iSide==0)? -1 : 1;
297 PointInDetCS = HepGeom::Point3D<double>(iSign*22, fRecPosOD, 35.5);
298 PointInAtlasCS = m_pGeometryReader->GetDetPointInAtlas((eRPotName)(iRPot+1), PointInDetCS);
299 PointInPotCS = m_pGeometryReader->GetDetPointInRPot((eRPotName)(iRPot+1), PointInDetCS);
300 PointInStatCS = m_TransMatrixSt[iRPot]*PointInDetCS;
301 m_pLocRecCorrODEvCollection->push_back(new ALFA_LocRecCorrODEvent(iAlgo, iRPot, iSide, PointInAtlasCS[1], PointInAtlasCS[2], PointInPotCS[1], PointInStatCS[1], -9999.0));
302 }
303 }
304
305 ATH_MSG_DEBUG("end ALFA_LocRecCorr::execute()");
306 return StatusCode::SUCCESS;
307}
#define ATH_MSG_ERROR(x)
static Double_t sc
HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT]
StatusCode RecordCollection()
StatusCode RecordODCollection()
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ initialize()

StatusCode ALFA_LocRecCorr::initialize ( )

Definition at line 180 of file ALFA_LocRecCorr.cxx.

181{
182 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::Initialize()");
183 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Initialize()");
184
185 //read ALFA_Geometry from StoreGate
187 {
188 ATH_MSG_ERROR("m_pGeometryReader is not in StoreGate");
189 }
190 else ATH_MSG_DEBUG("m_pGeometryReader is in StoreGate");
191
192 if (StatusCode::SUCCESS != detStore()->retrieve(m_pGeometryReader, m_strKeyGeometryForReco))
193 {
194 ATH_MSG_ERROR("m_pGeometryReader: unable to retrieve data from SG");
195 }
196 else ATH_MSG_DEBUG("m_pGeometryReader: retrieved from SG");
197
198 if (m_Config.eRPMetrologyGeoType==EMT_SWCORRECTIONS)
199 {
200 CHECK(COOLUpdate());
201 }
202
203 if(m_Config.eRPMetrologyGeoType==EMT_NOMINAL)
205
206 // do update geometry at the end of the initialization process
208 ATH_MSG_DEBUG("Geometry updated successfully.");
209 else
210 ATH_MSG_FATAL("Unable to update a geometry!");
211
212 ATH_MSG_DEBUG("end ALFA_LocRecCorr::initialize()");
213
214 return StatusCode::SUCCESS;
215}
@ EMT_SWCORRECTIONS
#define CHECK(...)
Evaluate an expression and check for errors.
StatusCode COOLUpdate()
const ServiceHandle< StoreGateSvc > & detStore() const
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ Point3DInDetector()

HepGeom::Point3D< double > ALFA_LocRecCorr::Point3DInDetector ( eRPotName eRPName)
private

Definition at line 468 of file ALFA_LocRecCorr.cxx.

469{
470 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::Point3DInDetector(eRPotName eRPName)");
471 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::Point3DInDetector()");
472
473 HepGeom::Point3D<double> Point;
474
475 switch(eRPName)
476 {
477 case ERPN_B7L1U:
479 break;
480 case ERPN_B7L1L:
482 break;
483 case ERPN_A7L1U:
485 break;
486 case ERPN_A7L1L:
488 break;
489 case ERPN_A7R1U:
491 break;
492 case ERPN_A7R1L:
494 break;
495 case ERPN_B7R1U:
497 break;
498 case ERPN_B7R1L:
500 break;
501 default:
502 ATH_MSG_WARNING("Unknown Roman pot, transformation point will be set to default (zero) value");
503 }
504
505 ATH_MSG_DEBUG("end ALFA_LocRecCorr::Point3DInDetector()");
506
507 return Point;
508}
@ ERPN_B7L1L
@ ERPN_A7L1L
@ ERPN_B7R1L
@ ERPN_B7L1U
@ ERPN_A7R1L
@ ERPN_B7R1U
@ ERPN_A7L1U
@ ERPN_A7R1U
#define ATH_MSG_WARNING(x)
ChargedTracksWeightFilter::Spline::Point Point

◆ RecordCollection()

StatusCode ALFA_LocRecCorr::RecordCollection ( )
private

Definition at line 510 of file ALFA_LocRecCorr.cxx.

511{
512 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::RecordCollection()");
513 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::RecordCollection()");
514
515 StatusCode sc = StatusCode::SUCCESS;
516
517 m_pLocRecCorrEvCollection = new ALFA_LocRecCorrEvCollection();
519
520 if (sc.isFailure())
521 {
522 ATH_MSG_FATAL("MD - Could not record the empty LocRecCorrEv collection in StoreGate");
523 return sc;
524 }
525 else
526 {
527 ATH_MSG_DEBUG("MD - LocRecCorrEv collection was recorded in StoreGate");
528 }
529
530 ATH_MSG_DEBUG("end ALFA_LocRecCorr::RecordCollection()");
531
532 return sc;
533}

◆ RecordODCollection()

StatusCode ALFA_LocRecCorr::RecordODCollection ( )
private

Definition at line 535 of file ALFA_LocRecCorr.cxx.

536{
537 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::RecordODCollection()");
538 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::RecordODCollection()");
539
540 StatusCode sc = StatusCode::SUCCESS;
541
542 m_pLocRecCorrODEvCollection = new ALFA_LocRecCorrODEvCollection();
544
545 if (sc.isFailure())
546 {
547 ATH_MSG_FATAL("OD - Could not record the empty LocRecCorrEv collection in StoreGate");
548
549 return sc;
550 }
551 else
552 {
553 ATH_MSG_DEBUG("OD - LocRecCorrEv collection is recorded in StoreGate");
554 }
555
556 ATH_MSG_DEBUG("end ALFA_LocRecCorr::RecordODCollection()");
557
558 return sc;
559}

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ SetNominalGeometry()

void ALFA_LocRecCorr::SetNominalGeometry ( )
private

Definition at line 616 of file ALFA_LocRecCorr.cxx.

617{
618 eRPotName eRPName;
619 for(int i=0;i<RPOTSCNT;i++)
620 {
621 eRPName=(eRPotName)(i+1);
623 {
624 m_Config.CfgRPosParams[i].usercorr.bIsEnabledUserTranform=true;
625 m_Config.CfgRPosParams[i].usercorr.UserOriginOfDetTransInRPot=Point3DInDetector(eRPName);
626 m_Config.CfgRPosParams[i].usercorr.UserTransformOfDetInRPot=UserTransform3DInDetector(eRPName);
627 }
629 {
630 m_Config.CfgRPosParams[i].usercorr.bIsEnabledUserTranform=true;
631 m_Config.CfgRPosParams[i].usercorr.UserTransformOfRPInStation=UserTransform3DInStation(eRPName);
632 }
633 }
634}
#define RPOTSCNT
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName)
HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName)

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ UpdateGeometryAtlas()

bool ALFA_LocRecCorr::UpdateGeometryAtlas ( )
private

Definition at line 595 of file ALFA_LocRecCorr.cxx.

596{
597 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UpdateGeometryAtlas()");
598 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UpdateGeometryAtlas()");
599
600 if(m_pGeometryReader->Initialize(&m_Config,EFCS_ATLAS))
601 {
602 ATH_MSG_DEBUG("Geometry successfully updated.");
603 m_pGeometryReader->GetListOfExistingRPotIDs(&m_ListExistingRPots);
604 }
605 else
606 {
607 ATH_MSG_FATAL("Cannot update geometry. Initialization process failed.");
608 ATH_MSG_DEBUG("end ALFA_LocRecCorr::UpdateGeometryAtlas()");
609 return false;
610 }
611
612 ATH_MSG_DEBUG("end ALFA_LocRecCorr::UpdateGeometryAtlas()");
613 return true;
614}
@ EFCS_ATLAS

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ UserTransform3DInDetector()

HepGeom::Transform3D ALFA_LocRecCorr::UserTransform3DInDetector ( eRPotName eRPName)
private

Definition at line 389 of file ALFA_LocRecCorr.cxx.

390{
391 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UserTransform3DInDetector(eRPotName eRPName)");
392 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UserTransform3DInDetector()");
393
394 CLHEP::HepRep3x3 matRotation;
395 USERTRANSFORM structUserTransform;
396
397 switch(eRPName)
398 {
399 case ERPN_B7L1U:
400 structUserTransform.fAngle = m_vecTransformInDetectorB7L1U[0];
403 break;
404 case ERPN_B7L1L:
405 structUserTransform.fAngle = m_vecTransformInDetectorB7L1L[0];
408 break;
409 case ERPN_A7L1U:
410 structUserTransform.fAngle = m_vecTransformInDetectorA7L1U[0];
413 break;
414 case ERPN_A7L1L:
415 structUserTransform.fAngle = m_vecTransformInDetectorA7L1L[0];
418 break;
419 case ERPN_A7R1U:
420 structUserTransform.fAngle = m_vecTransformInDetectorA7R1U[0];
423 break;
424 case ERPN_A7R1L:
425 structUserTransform.fAngle = m_vecTransformInDetectorA7R1L[0];
428 break;
429 case ERPN_B7R1U:
430 structUserTransform.fAngle = m_vecTransformInDetectorB7R1U[0];
433 break;
434 case ERPN_B7R1L:
435 structUserTransform.fAngle = m_vecTransformInDetectorB7R1L[0];
438 break;
439 default:
440 ATH_MSG_WARNING("Unknown Roman pot, detector transformation will be set to default (zero) values");
441 structUserTransform.fAngle = 0.0;
442 structUserTransform.vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
443 structUserTransform.vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
444 }
445
446 double fPhi = structUserTransform.fAngle;
447
448 CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.vecRotation);
449 CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.vecTranslation);
450
451 matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - cos(fPhi)) + cos(fPhi);
452 matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - cos(fPhi)) - vRotation.z()*sin(fPhi);
453 matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - cos(fPhi)) + vRotation.y()*sin(fPhi);
454
455 matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - cos(fPhi)) + vRotation.z()*sin(fPhi);
456 matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - cos(fPhi)) + cos(fPhi);
457 matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - cos(fPhi)) - vRotation.x()*sin(fPhi);
458
459 matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - cos(fPhi)) - vRotation.y()*sin(fPhi);
460 matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - cos(fPhi)) + vRotation.x()*sin(fPhi);
461 matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - cos(fPhi)) + cos(fPhi);
462
463 ATH_MSG_DEBUG("end ALFA_LocRecCorr::UserTransform3DInDetector()");
464
465 return HepGeom::Transform3D(CLHEP::HepRotation(matRotation), vTranslation);
466}
struct _USERTRANSFORM USERTRANSFORM
CLHEP::Hep3Vector vecTranslation
CLHEP::Hep3Vector vecRotation

◆ UserTransform3DInStation()

HepGeom::Transform3D ALFA_LocRecCorr::UserTransform3DInStation ( eRPotName eRPName)
private

Definition at line 310 of file ALFA_LocRecCorr.cxx.

311{
312 //MsgStream LogStream(Athena::getMessageSvc(), "ALFA_LocRecCorr::UserTransform3DInStation(eRPotName eRPName)");
313 ATH_MSG_DEBUG("begin ALFA_LocRecCorr::UserTransform3DInStation()");
314
315 CLHEP::HepRep3x3 matRotation;
316 USERTRANSFORM structUserTransform;
317
318 switch(eRPName)
319 {
320 case ERPN_B7L1U:
321 structUserTransform.fAngle = m_vecTransformInStationB7L1U[0];
324 break;
325 case ERPN_B7L1L:
326 structUserTransform.fAngle = m_vecTransformInStationB7L1L[0];
329 break;
330 case ERPN_A7L1U:
331 structUserTransform.fAngle = m_vecTransformInStationA7L1U[0];
334 break;
335 case ERPN_A7L1L:
336 structUserTransform.fAngle = m_vecTransformInStationA7L1L[0];
339 break;
340 case ERPN_A7R1U:
341 structUserTransform.fAngle = m_vecTransformInStationA7R1U[0];
344 break;
345 case ERPN_A7R1L:
346 structUserTransform.fAngle = m_vecTransformInStationA7R1L[0];
349 break;
350 case ERPN_B7R1U:
351 structUserTransform.fAngle = m_vecTransformInStationB7R1U[0];
354 break;
355 case ERPN_B7R1L:
356 structUserTransform.fAngle = m_vecTransformInStationB7R1L[0];
359 break;
360 default:
361 ATH_MSG_WARNING("Unknown Roman pot, station transformation will be set to default (zero) values");
362 structUserTransform.fAngle = 0.0;
363 structUserTransform.vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
364 structUserTransform.vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
365 }
366
367 double fPhi = structUserTransform.fAngle;
368
369 CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.vecRotation);
370 CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.vecTranslation);
371
372 matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - cos(fPhi)) + cos(fPhi);
373 matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - cos(fPhi)) - vRotation.z()*sin(fPhi);
374 matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - cos(fPhi)) + vRotation.y()*sin(fPhi);
375
376 matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - cos(fPhi)) + vRotation.z()*sin(fPhi);
377 matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - cos(fPhi)) + cos(fPhi);
378 matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - cos(fPhi)) - vRotation.x()*sin(fPhi);
379
380 matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - cos(fPhi)) - vRotation.y()*sin(fPhi);
381 matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - cos(fPhi)) + vRotation.x()*sin(fPhi);
382 matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - cos(fPhi)) + cos(fPhi);
383
384 ATH_MSG_DEBUG("end ALFA_LocRecCorr::UserTransform3DInStation()");
385
386 return HepGeom::Transform3D(CLHEP::HepRotation(matRotation), vTranslation);
387}

Member Data Documentation

◆ m_bCoolData

bool ALFA_LocRecCorr::m_bCoolData
private

Definition at line 69 of file ALFA_LocRecCorr.h.

◆ m_bIsTransformInDetector

std::vector<bool> ALFA_LocRecCorr::m_bIsTransformInDetector
private

Definition at line 79 of file ALFA_LocRecCorr.h.

◆ m_bIsTransformInStation

std::vector<bool> ALFA_LocRecCorr::m_bIsTransformInStation
private

Definition at line 78 of file ALFA_LocRecCorr.h.

◆ m_Config

GEOMETRYCONFIGURATION ALFA_LocRecCorr::m_Config
private

Definition at line 59 of file ALFA_LocRecCorr.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_iDataType

Int_t ALFA_LocRecCorr::m_iDataType
private

Definition at line 75 of file ALFA_LocRecCorr.h.

◆ m_iEvt

Int_t ALFA_LocRecCorr::m_iEvt
private

Definition at line 76 of file ALFA_LocRecCorr.h.

◆ m_ListExistingRPots

std::list<eRPotName> ALFA_LocRecCorr::m_ListExistingRPots
private

Definition at line 70 of file ALFA_LocRecCorr.h.

◆ m_pGeometryReader

ALFA_GeometryReader* ALFA_LocRecCorr::m_pGeometryReader
private

Definition at line 60 of file ALFA_LocRecCorr.h.

◆ m_pLocRecCorrEvCollection

ALFA_LocRecCorrEvCollection* ALFA_LocRecCorr::m_pLocRecCorrEvCollection
private

Definition at line 66 of file ALFA_LocRecCorr.h.

◆ m_pLocRecCorrODEvCollection

ALFA_LocRecCorrODEvCollection* ALFA_LocRecCorr::m_pLocRecCorrODEvCollection
private

Definition at line 67 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorA7L1L

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorA7L1L
private

Definition at line 83 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorA7L1U

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorA7L1U
private

Definition at line 82 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorA7R1L

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorA7R1L
private

Definition at line 87 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorA7R1U

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorA7R1U
private

Definition at line 86 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorB7L1L

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorB7L1L
private

Definition at line 81 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorB7L1U

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorB7L1U
private

Definition at line 80 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorB7R1L

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorB7R1L
private

Definition at line 85 of file ALFA_LocRecCorr.h.

◆ m_pointTransformInDetectorB7R1U

std::vector<double> ALFA_LocRecCorr::m_pointTransformInDetectorB7R1U
private

Definition at line 84 of file ALFA_LocRecCorr.h.

◆ m_rootInputFileName

std::string ALFA_LocRecCorr::m_rootInputFileName
private

Definition at line 114 of file ALFA_LocRecCorr.h.

◆ m_strCollectionName

std::string ALFA_LocRecCorr::m_strCollectionName
private

Definition at line 110 of file ALFA_LocRecCorr.h.

◆ m_strKeyGeometryForReco

std::string ALFA_LocRecCorr::m_strKeyGeometryForReco
private

Definition at line 105 of file ALFA_LocRecCorr.h.

◆ m_strKeyLocRecCorrEvCollection

std::string ALFA_LocRecCorr::m_strKeyLocRecCorrEvCollection
private

Definition at line 108 of file ALFA_LocRecCorr.h.

◆ m_strKeyLocRecCorrODEvCollection

std::string ALFA_LocRecCorr::m_strKeyLocRecCorrODEvCollection
private

Definition at line 109 of file ALFA_LocRecCorr.h.

◆ m_strKeyLocRecEvCollection

std::string ALFA_LocRecCorr::m_strKeyLocRecEvCollection
private

Definition at line 106 of file ALFA_LocRecCorr.h.

◆ m_strKeyLocRecODEvCollection

std::string ALFA_LocRecCorr::m_strKeyLocRecODEvCollection
private

Definition at line 107 of file ALFA_LocRecCorr.h.

◆ m_strKeyRawDataCollection

std::string ALFA_LocRecCorr::m_strKeyRawDataCollection
private

Definition at line 113 of file ALFA_LocRecCorr.h.

◆ m_strLocRecCollectionName

std::string ALFA_LocRecCorr::m_strLocRecCollectionName
private

Definition at line 72 of file ALFA_LocRecCorr.h.

◆ m_strLocRecODCollectionName

std::string ALFA_LocRecCorr::m_strLocRecODCollectionName
private

Definition at line 73 of file ALFA_LocRecCorr.h.

◆ m_strODCollectionName

std::string ALFA_LocRecCorr::m_strODCollectionName
private

Definition at line 111 of file ALFA_LocRecCorr.h.

◆ m_strTruthCollectionName

std::string ALFA_LocRecCorr::m_strTruthCollectionName
private

Definition at line 112 of file ALFA_LocRecCorr.h.

◆ m_TransMatrixLHC

HepGeom::Transform3D ALFA_LocRecCorr::m_TransMatrixLHC[RPOTSCNT]
private

Definition at line 117 of file ALFA_LocRecCorr.h.

◆ m_TransMatrixSt

HepGeom::Transform3D ALFA_LocRecCorr::m_TransMatrixSt[RPOTSCNT]
private

Definition at line 116 of file ALFA_LocRecCorr.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vecTransformInDetectorA7L1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorA7L1L
private

Definition at line 91 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorA7L1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorA7L1U
private

Definition at line 90 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorA7R1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorA7R1L
private

Definition at line 95 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorA7R1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorA7R1U
private

Definition at line 94 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorB7L1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorB7L1L
private

Definition at line 89 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorB7L1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorB7L1U
private

Definition at line 88 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorB7R1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorB7R1L
private

Definition at line 93 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInDetectorB7R1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInDetectorB7R1U
private

Definition at line 92 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationA7L1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationA7L1L
private

Definition at line 99 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationA7L1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationA7L1U
private

Definition at line 98 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationA7R1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationA7R1L
private

Definition at line 103 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationA7R1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationA7R1U
private

Definition at line 102 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationB7L1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationB7L1L
private

Definition at line 97 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationB7L1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationB7L1U
private

Definition at line 96 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationB7R1L

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationB7R1L
private

Definition at line 101 of file ALFA_LocRecCorr.h.

◆ m_vecTransformInStationB7R1U

std::vector<double> ALFA_LocRecCorr::m_vecTransformInStationB7R1U
private

Definition at line 100 of file ALFA_LocRecCorr.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: