|
ATLAS Offline Software
|
#include <TestTRT_Alignment.h>
|
| TestTRT_Alignment (const std::string &name, ISvcLocator *pSvcLocator) |
|
StatusCode | initialize () |
|
StatusCode | execute () |
|
StatusCode | finalize () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
void | addShiftTop (const Amg::Transform3D &transform) |
|
void | addShiftModule (int bec, int phiMod, int layer, const Amg::Transform3D &transform) |
|
void | addShift (int level, const Identifier &id, const Amg::Transform3D &transform) |
|
void | compareStraw (const InDetDD::TRT_BaseElement *element, int straw) |
|
void | compareEndStraws (const Identifier &id) |
|
void | printAlignmentShifts () |
|
bool | testIdentity (const Amg::Transform3D &transform, double errRot=0, double errTrans=0) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 29 of file TestTRT_Alignment.h.
◆ StoreGateSvc_t
◆ TestTRT_Alignment()
TestTRT_Alignment::TestTRT_Alignment |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ addShift()
◆ addShiftModule()
void TestTRT_Alignment::addShiftModule |
( |
int |
bec, |
|
|
int |
phiMod, |
|
|
int |
layer, |
|
|
const Amg::Transform3D & |
transform |
|
) |
| |
|
private |
◆ addShiftTop()
◆ compareEndStraws()
◆ compareStraw()
Definition at line 225 of file TestTRT_Alignment.cxx.
234 cout <<
" Straw " <<
straw <<
": NO SHIFT" << endl;
236 cout <<
" Straw " <<
straw <<
": Global shift: " << globalDelta * zeroPoint << endl ;
238 cout <<
" center " << strawDefXF * zeroPoint <<
" -> " << strawXF * zeroPoint << endl;
239 cout <<
" diff = " << strawXF * zeroPoint - strawDefXF * zeroPoint << endl;
240 cout <<
" strawAxis " << strawDefXF *
zAxis <<
" -> " << strawXF *
zAxis << endl;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode TestTRT_Alignment::execute |
( |
| ) |
|
◆ extraDeps_update_handler()
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.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode TestTRT_Alignment::finalize |
( |
| ) |
|
◆ initialize()
StatusCode TestTRT_Alignment::initialize |
( |
| ) |
|
original (pre-Eigen) code for reference: addShiftTop(HepGeom::Translate3D(0,11.93*CLHEP::mm,0));
addShiftModule(1,0,0, HepGeom::TranslateY3D(0.2679 * CLHEP::mm) * HepGeom::RotateZ3D(atan(-0.0001639))); addShiftModule(1,0,1, HepGeom::TranslateY3D(-0.4254 * CLHEP::mm) * HepGeom::RotateZ3D(atan(0.0003195))); addShiftModule(1,0,2, HepGeom::TranslateY3D(0.0264 * CLHEP::mm) * HepGeom::RotateZ3D(atan(0.0000053))); addShiftModule(1,1,0, HepGeom::Transform3D()); addShiftModule(1,1,1, HepGeom::Transform3D()); addShiftModule(1,1,2, HepGeom::Transform3D());
Definition at line 58 of file TestTRT_Alignment.cxx.
59 msg(MSG::INFO) <<
"initialize()" <<
endmsg;
60 msg(MSG::INFO) <<
"Algorithm Properties" <<
endmsg;
70 msg(MSG::INFO) <<
" Modules only - the 4 corner straws of each module will be printed. " <<
endmsg;
72 msg(MSG::INFO) <<
" NB. TestAllStraws flag is ignored" <<
endmsg;
86 return StatusCode::FAILURE;
93 return StatusCode::FAILURE;
98 const unsigned int nTests(3);
100 const double angles[nTests]={
atan(-0.0001639),
atan(0.0003195),
atan(0.0000053)};
104 Amg::Transform3D zRotations[nTests] = {zRotation(angles[0]), zRotation(angles[1]), zRotation(angles[2])};
105 Amg::Transform3D yTranslations[nTests]={yTranslation(distances[0]), yTranslation(distances[1]), yTranslation(distances[2])};
126 return StatusCode::SUCCESS;
◆ inputHandles()
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() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ printAlignmentShifts()
void TestTRT_Alignment::printAlignmentShifts |
( |
| ) |
|
|
private |
Definition at line 168 of file TestTRT_Alignment.cxx.
173 IdentifierHash idHash =
index;
181 for (
unsigned int iStraw = 0; iStraw < element->
nStraws(); iStraw++) {
189 cout <<
"No Element with id hash = " << idHash << endl;
198 if (numStrawLayers) {
204 cout <<
"ERROR: No Elements in this module!" << endl;
208 cout.precision(oldPrec);
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ testIdentity()
bool TestTRT_Alignment::testIdentity |
( |
const Amg::Transform3D & |
transform, |
|
|
double |
errRot = 0 , |
|
|
double |
errTrans = 0 |
|
) |
| |
|
private |
Definition at line 247 of file TestTRT_Alignment.cxx.
252 for (
int i=0;
i < 3;
i++){
253 for (
int j=0; j < 3; j++){
255 if (
diff > errRot)
return false;
259 for (
int ii = 0; ii < 3; ii++){
260 double diff = abs(
t1(ii,3) -
t2(ii,3));
261 if (
diff > errTrans)
return false;
◆ updateVHKA()
◆ m_detStore
◆ m_errRot
double TestTRT_Alignment::m_errRot |
|
private |
◆ m_errTrans
double TestTRT_Alignment::m_errTrans |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_hardwiredShifts
bool TestTRT_Alignment::m_hardwiredShifts |
|
private |
◆ m_idHelper
◆ m_longPrintOut
bool TestTRT_Alignment::m_longPrintOut |
|
private |
◆ m_manager
◆ m_managerName
std::string TestTRT_Alignment::m_managerName |
|
private |
◆ m_precision
int TestTRT_Alignment::m_precision |
|
private |
◆ m_testAllElements
bool TestTRT_Alignment::m_testAllElements |
|
private |
◆ m_testAllStraws
bool TestTRT_Alignment::m_testAllStraws |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
void printAlignmentShifts()
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
size_type straw_layer_hash_max(void) const
unsigned int nStraws() const
Number of straws in the element.
std::vector< ALFA_RawDataCollection_p1 > t1
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
Set alignable transforms: Amg based.
Identifier barrel_ec_id(int barrel_ec) const
For +/-barrel or +/-endcap id.
std::vector< Identifier >::const_iterator const_id_iterator
const_id_iterator module_begin(void) const
Iterators over full set of module ids. Module ids are sorted.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
const_id_iterator module_end(void) const
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
std::string m_managerName
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
void compareEndStraws(const Identifier &id)
void addShiftModule(int bec, int phiMod, int layer, const Amg::Transform3D &transform)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const TRT_ID * m_idHelper
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int straw_layer_max(const Identifier &id) const
Max values for each field (-999 == failure)
void addShiftTop(const Amg::Transform3D &transform)
void compareStraw(const InDetDD::TRT_BaseElement *element, int straw)
const InDetDD::TRT_DetectorManager * m_manager
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
void show(Identifier id, const IdContext *context=0, char sep='.') const
Short print out of any identifier (optionally provide separation character - default is '.
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< ALFA_RawDataContainer_p1 > t2
DataObjIDColl m_extendedExtraObjects
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
bool testIdentity(const Amg::Transform3D &transform, double errRot=0, double errTrans=0)
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
#define ATH_MSG_WARNING(x)
Eigen::Translation< double, 3 > Translation3D
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Identifier module_id(int barrel_ec, int phi_module, int layer_or_wheel) const
For an individual module phi sector.
void addShift(int level, const Identifier &id, const Amg::Transform3D &transform)