CMS 3D CMS Logo

AlignableData.h

Go to the documentation of this file.
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 

Generated on Tue Jun 9 17:23:46 2009 for CMSSW by  doxygen 1.5.4