  | 
  
    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, V, H > &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, V, H > &hndl, const SG::VarHandleKeyType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKey>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleBase>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &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.
   70     msg(
MSG::INFO) << 
" Modules only - the 4 corner straws of each module will be printed. " << 
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.
 
unsigned int nStraws() const
Number of straws in the element.
 
std::vector< ALFA_RawDataCollection_p1 > t1
 
const_id_iterator module_end() const
 
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 ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
 
virtual void setOwner(IDataHandleHolder *o)=0
 
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
 
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.
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
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:
 
const_id_iterator module_begin() const
Iterators over full set of module ids. Module ids are sorted.
 
size_type straw_layer_hash_max() const
 
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)