| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

AlignmentCondition.h

Go to the documentation of this file.
00001 // $Id: AlignmentCondition.h,v 1.17 2008/07/11 16:35:05 marcocle Exp $
00002 #ifndef DETDESC_ALIGNMENTCONDITION_H 
00003 #define DETDESC_ALIGNMENTCONDITION_H 1
00004 
00005 // Include files
00006 #include "DetDesc/Condition.h"
00007 #include "DetDesc/DetDesc.h"
00008 #include "DetDesc/CLIDAlignmentCondition.h"
00009 #include "GaudiKernel/Point3DTypes.h"
00010 #include "GaudiKernel/Vector3DTypes.h"
00011 #include "GaudiKernel/Transform3DTypes.h"
00019 class MsgStream;
00020 class IMessageSvc;
00021 
00022 class AlignmentCondition : public Condition {
00023 
00024 public: 
00026   AlignmentCondition( );
00028   AlignmentCondition(const std::vector<double>& translation,
00029                      const std::vector<double>& rotation,
00030                      const std::vector<double>& pivot =
00031                      std::vector<double>(3, 0.) ) ;
00032   
00033   virtual ~AlignmentCondition( ); 
00034 
00035   virtual StatusCode initialize();
00036 
00038   inline virtual const CLID& clID() const { return classID(); } 
00040   inline static  const CLID& classID() { return CLID_AlignmentCondition; };
00044   inline const Gaudi::Transform3D& offNominalMatrix() const
00045   {
00046     return m_matrixInv;
00047   }
00051   inline const Gaudi::Transform3D& toNominalMatrix() const
00052   {
00053     return m_matrix;
00054   }
00055 
00062   void offNominalMatrix(const Gaudi::Transform3D& newMatrix);
00063 
00074   StatusCode setOffNominalTransformation( const std::vector<double>& translation,
00075                                           const std::vector<double>& rotation,
00076                                           const std::vector<double>& pivot);
00077 
00078   std::ostream &fillStream(std::ostream &s) const;
00079   
00080 protected:
00081 
00082   IMessageSvc*       msgSvc  () const;
00083 
00084   inline void loadParams(const std::vector<double>& translation,
00085                          const std::vector<double>& rotation,
00086                          const std::vector<double>& pivot) 
00087   {
00088     this->addParam(m_translationString, translation );
00089     this->addParam(m_rotationString,    rotation    );
00090     this->addParam(m_pivotString,       pivot       );
00091   }
00092   
00093 
00094   virtual StatusCode makeMatrices();
00095 
00096   void updateParams();
00097 
00098   DetDesc::Services* m_services;
00099 
00100   Gaudi::Transform3D m_matrix; 
00101   Gaudi::Transform3D m_matrixInv; 
00102 
00103   const std::string m_translationString;
00104   const std::string m_rotationString;
00105   const std::string m_pivotString;
00106 
00107 };
00108 #endif // DETDESC_ALIGNMENTCONDITION_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:13 2011 for DetDesc by doxygen 1.4.7