ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/interface/AlignableData.h
Revision: 1.1
Committed: Fri Aug 4 16:15:13 2006 UTC (18 years, 9 months ago) by fronga
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_1_2_6, CMSSW_1_2_5, CMSSW_1_2_4, CMSSW_1_2_0_4821, CMSSW_1_2_0_g4_82p01, CMSSW_1_2_3, CMSSW_1_2_0_g4_82, CMSSW_1_2_2, CMSSW_1_2_1, CMSSW_1_3_0_SLC4_pre1, CMSSW_1_3_0_pre1, V01-00-00, CMSSW_1_2_0_g4_81, CMSSW_1_2_0_SL4, V00-08-01, CMSSW_1_2_0, V00-08-00, CMSSW_1_2_0_pre9, CMSSW_1_2_0_pre8_g4_81, CMSSW_1_2_0_pre8, CMSSW_1_1_2, CMSSW_1_2_0_pre7, V00-07-03, CMSSW_1_2_0_pre6, CMSSW_1_2_0_pre5, V00-07-02, V00-07-01, V00-07-00, V00-06-00, CMSSW_1_2_0_pre4, V00-05-00, CMSSW_1_1_1, CMSSW_1_2_0_pre3, V00-04-00, CMSSW_1_0_6, V00-03-00, CMSSW_1_2_0_pre2, CMSSW_1_0_5, CMSSW_1_1_0, CMSSW_1_2_0_pre1, CMSSW_1_0_4, CMSSW_1_1_0_pre4, CMSSW_1_0_3, CMSSW_1_0_0_g4_81, CMSSW_1_1_0_pre3, CMSSW_1_0_2, CMSSW_1_0_1, CMSSW_1_1_0_pre2, CMSSW_1_0_0, CMSSW_1_0_0_pre5, CMSSW_1_1_0_pre1, CMSSW_1_0_0_pre4, CMSSW_1_0_0_pre3, CMSSW_1_0_0_pre2, V00-02-00, CMSSW_1_0_0_pre1, V00-01-00
Log Message:
First version with EDLooper interface, and running in latest release.

File Contents

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