7 #include "GeoModelKernel/GeoFullPhysVol.h"
8 #include "GeoModelKernel/GeoAlignableTransform.h"
32 if (
detStore->retrieve(hec1AlxPos,
"HEC1_POS")!=StatusCode::SUCCESS) {
33 ATH_MSG_WARNING(
" Unable to retrieve StoredAlignX for the key HEC1_POS");
37 if (
detStore->retrieve(hec1AlxNeg,
"HEC1_NEG")!=StatusCode::SUCCESS) {
38 ATH_MSG_WARNING(
" Unable to retrieve StoredAlignX for the key HEC1_NEG");
42 if (
detStore->retrieve(hec2AlxPos,
"HEC2_POS")!=StatusCode::SUCCESS) {
43 ATH_MSG_WARNING(
" Unable to retrieve StoredAlignX for the key HEC2_POS");
47 if (
detStore->retrieve(hec2AlxNeg,
"HEC2_NEG")!=StatusCode::SUCCESS) {
48 ATH_MSG_WARNING(
" Unable to retrieve StoredAlignX for the key HEC2_NEG");
51 GeoAlignableTransform *hec1GatPos = hec1AlxPos ? hec1AlxPos->getAlignX():
nullptr;
52 GeoAlignableTransform *hec1GatNeg = hec1AlxPos ? hec1AlxNeg->getAlignX():
nullptr;
53 GeoAlignableTransform *hec2GatPos = hec2AlxPos ? hec2AlxPos->getAlignX():
nullptr;
54 GeoAlignableTransform *hec2GatNeg = hec2AlxPos ? hec2AlxNeg->getAlignX():
nullptr;
63 if(
detStore->retrieve(alignX,alignName).isFailure()) {
64 ATH_MSG_ERROR(
" Unable to retrieve StoredAlignX for the key " << alignName);
65 return StatusCode::FAILURE;
69 ATH_MSG_ERROR(
"Null pointer to StoredAlignX for the key " << alignName);
70 return StatusCode::FAILURE;
73 GeoAlignableTransform* gat = alignX->getAlignX();
75 ATH_MSG_ERROR(
"Null pointer to GeoAlignableTransform for the key " << alignName);
76 return StatusCode::FAILURE;
84 gat->clearDelta(alignmentStore);
87 else if (alignName==
"HEC_POS") {
93 hec1GatPos->clearDelta(alignmentStore);
101 hec2GatPos->clearDelta(alignmentStore);
105 else if (alignName==
"HEC_NEG") {
111 hec1GatNeg->clearDelta(alignmentStore);
119 hec2GatNeg->clearDelta(alignmentStore);
133 std::vector<std::string>
keys;
135 for(
const std::string&
key :
keys) {
139 storedPV->
getPhysVol()->getAbsoluteTransform(alignmentStore);
140 storedPV->
getPhysVol()->getDefAbsoluteTransform(alignmentStore);
149 if(
detStore->retrieve(storedPV,alignName).isSuccess()) {
150 const GeoIntrusivePtr<GeoFullPhysVol> fullPV = storedPV->
getPhysVol();
155 <<
" translation [" << trans.x() <<
"," << trans.y() <<
"," << trans.z()
156 <<
"] rotation (" << rot(0,0) <<
"," << rot(0,1) <<
"," << rot(0,2)
157 <<
"," << rot(1,0) <<
"," << rot(1,1) <<
"," << rot(1,2)
158 <<
"," << rot(2,0) <<
"," << rot(2,1) <<
"," << rot(2,2) <<
")");
164 return StatusCode::SUCCESS;