![]() |
![]() |
00001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignableData_h 00002 #define Alignment_CommonAlignmentAlgorithm_AlignableData_h 00003 00004 #include "Alignment/CommonAlignment/interface/StructureType.h" 00005 #include "CondFormats/Alignment/interface/Definitions.h" 00006 00010 00011 00012 template<class T> class AlignableData 00013 { 00014 00015 public: 00016 00018 AlignableData(const T& pos, 00019 const align::RotationType& rot, 00020 align::ID id, align::StructureType objid) : 00021 thePos(pos), theRot(rot), theObjId(objid), theId(id) {} 00022 00024 const T& pos() const { return thePos; } 00025 const align::RotationType& rot() const { return theRot; } 00026 align::StructureType objId() const { return theObjId; } 00027 align::ID id() const { return theId; } 00028 00029 private: 00030 00031 // data members 00032 00033 T thePos; 00034 align::RotationType theRot; 00035 align::StructureType theObjId; 00036 align::ID theId; 00037 00038 }; 00039 00041 typedef AlignableData<align::GlobalPoint> AlignableAbsData; 00043 typedef AlignableData<align::GlobalVector> AlignableRelData; 00044 00045 typedef std::vector<AlignableAbsData> AlignablePositions; 00046 typedef std::vector<AlignableRelData> AlignableShifts; 00047 00048 #endif 00049