ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/interface/AlignableData.h
Revision: 1.4
Committed: Tue Mar 13 03:11:37 2007 UTC (18 years, 1 month ago) by cklae
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_1_6_12, CMSSW_1_6_12_pre2, CMSSW_1_6_12_pre1, CMSSW_1_6_11, CMSSW_1_7_7, CMSSW_1_6_11_pre1, CMSSW_1_7_6, CMSSW_1_6_10, CMSSW_1_6_10_pre2, CMSSW_1_6_10_pre1, CMSSW_1_6_9, CMSSW_1_6_9_pre2, CMSSW_1_6_9_pre1, CMSSW_1_7_5, CMSSW_1_7_4, CMSSW_1_7_3, CMSSW_1_6_8, CMSSW_1_6_8_pre2, CMSSW_1_7_2, CMSSW_1_6_8_pre1, CMSSW_1_7_1, CMSSW_1_7_0, CMSSW_1_7_0_pre13, CMSSW_1_4_10, CMSSW_1_7_0_pre12, CMSSW_1_7_0_pre11, CMSSW_1_7_0_pre10, CMSSW_1_7_0_pre9, CMSSW_1_7_0_pre8, CMSSW_1_7_0_pre7, CMSSW_1_4_9, CMSSW_1_4_8, CMSSW_1_6_7, CMSSW_1_7_0_pre6, CMSSW_1_6_6, CMSSW_1_6_5, CMSSW_1_6_5_pre1, CMSSW_1_6_4, CMSSW_1_7_0_pre5, CMSSW_1_6_3, CMSSW_1_6_1, CMSSW_1_7_0_pre4, V01-04-00-08, CMSSW_1_7_0_pre3, CMSSW_1_7_0_pre2, CMSSW_1_6_0, CMSSW_1_6_0_pre14, CMSSW_1_7_0_pre1, CMSSW_1_6_0_DAQ3, CMSSW_1_6_0_pre13, CMSSW_1_6_0_pre12, CMSSW_1_6_0_pre11, CMSSW_1_6_0_pre10, CMSSW_1_4_7, CMSSW_1_6_0_pre9, CMSSW_1_6_0_pre8, CMSSW_1_5_4, CMSSW_1_6_0_pre7, CMSSW_1_5_3, CMSSW_1_6_0_pre6, CMSSW_1_4_6, CMSSW_1_6_0_DAQ1, CMSSW_1_6_0_pre5, V01-04-00-07, V01-09-00, V01-04-00-06, CMSSW_1_6_0_pre4, CMSSW_1_5_2, CMSSW_1_6_0_pre3, CMSSW_1_6_0_pre2, CMSSW_1_6_0_pre1, CMSSW_1_5_1, CMSSW_1_4_5, CMSSW_1_5_0, V01-08-01, V01-04-00-05, CMSSW_1_4_3g483, CMSSW_1_4_4, CMSSW_1_5_0_pre6, CMSSW_1_4_3, V01-04-00-03, V01-08-00, CMSSW_1_5_0_pre5, CMSSW_1_4_2, CMSSW_1_4_1, CMSSW_1_5_0_pre4, V01-07-04, CMSSW_1_5_0_pre3, V01-07-03, V01-07-02, CMSSW_1_4_0_DAQ1, V01-06-01, V01-07-01, V01-04-00-02, CMSSW_1_4_0, CMSSW_1_5_0_pre2, CMSSW_1_4_0_pre7, CMSSW_1_4_0_pre6, CMSSW_1_4_0_pre5, V01-07-00, V01-04-00-01, CMSSW_1_5_0_pre1, CMSSW_1_4_0_pre4, V01-06-00, V01-05-00, V01-04-01, CMSSW_1_4_0_pre3, V01-04-00, V01-03-01, V01-03-00, cklae_20070314
Branch point for: V01-04-00-04
Changes since 1.3: +11 -14 lines
Log Message:
Change Surface:: to align::

File Contents

# User Rev Content
1 fronga 1.1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignableData_h
2     #define Alignment_CommonAlignmentAlgorithm_AlignableData_h
3    
4 cklae 1.4 #include "Alignment/CommonAlignment/interface/Utilities.h"
5 fronga 1.1
6     /// Helper class to store position data of an alignable;
7     /// Contents: position vector, rotation matrix, DetId and TypeId;
8     /// can be used for both absolute and relative positions/rotations
9    
10    
11     template<class T> class AlignableData
12     {
13    
14     public:
15    
16     /// constructor
17 cklae 1.4 AlignableData(const T& pos,
18     const align::RotationType& rot,
19     unsigned int id, int objid) :
20 fronga 1.1 thePos(pos), theRot(rot), theObjId(objid), theId(id) {}
21    
22     /// accessors
23 cklae 1.4 const T& pos() const { return thePos; }
24     const align::RotationType& rot() const { return theRot; }
25     int objId() const { return theObjId; }
26     unsigned int id() const { return theId; }
27 fronga 1.1
28     private:
29    
30     // data members
31    
32     T thePos;
33 cklae 1.4 align::RotationType theRot;
34 fronga 1.1 int theObjId;
35     unsigned int theId;
36    
37     };
38    
39     /// Absolute position/rotation
40 cklae 1.4 typedef AlignableData<align::GlobalPoint> AlignableAbsData;
41 fronga 1.1 /// relative position/rotation
42 cklae 1.4 typedef AlignableData<align::GlobalVector> AlignableRelData;
43 fronga 1.1
44     typedef std::vector<AlignableAbsData> AlignablePositions;
45     typedef std::vector<AlignableRelData> AlignableShifts;
46    
47     #endif
48