ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/src/AlignableDataIO.cc
Revision: 1.4
Committed: Mon Oct 8 14:38:16 2007 UTC (17 years, 6 months ago) by cklae
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_4_1_8_patch13, CMSSW_4_1_8_patch11, CMSSW_4_1_8_patch10, CMSSW_4_1_8_patch8, CMSSW_4_1_8_patch7, CMSSW_4_1_8_patch6, CMSSW_4_1_8_patch5, CMSSW_4_1_8_patch4, CMSSW_4_1_8_patch1, CMSSW_4_1_8, CMSSW_4_1_7_patch3, CMSSW_4_1_7_patch2, CMSSW_4_1_7_patch1, CMSSW_4_1_7, CMSSW_4_1_6_patch1, CMSSW_4_1_6, CMSSW_4_1_4_patch4, CMSSW_4_1_5, CMSSW_4_1_4_patch3, CMSSW_4_1_4_patch2, CMSSW_4_1_4_patch1, CMSSW_4_1_4, CMSSW_4_1_3_patch2, CMSSW_4_1_3, CMSSW_4_1_2_patch1, CMSSW_4_1_2, CMSSW_3_11_3, CMSSW_3_11_2, CMSSW_3_11_1_hltpatch1, CMSSW_3_11_1_hclpatch1, CMSSW_3_11_1_patch3, CMSSW_3_9_9_patch1, CMSSW_3_9_9, CMSSW_3_11_1_patch2, CMSSW_4_2_0_pre4, CMSSW_3_11_1_patch1, CMSSW_4_2_0_pre3, CMSSW_3_11_1, CMSSW_3_9_8_patch2, CMSSW_4_2_0_pre2, CMSSW_3_9_8_patch1, CMSSW_3_9_8, CMSSW_4_2_0_pre1, CMSSW_3_11_0, CMSSW_3_10_1, CMSSW_3_11_0_pre4, CMSSW_3_11_0_pre5, CMSSW_3_11_0_pre3, CMSSW_3_11_0_pre2, CMSSW_3_9_7, CMSSW_3_10_0, CMSSW_3_9_6, CMSSW_3_8_7_patch1, CMSSW_3_11_0_pre1, CMSSW_3_10_0_pre9, V03-03-05, CMSSW_3_9_5_patch2, CMSSW_3_10_0_pre8, CMSSW_3_10_0_pre7g494c1, CMSSW_3_9_5_patch1, CMSSW_3_10_0_pre7, CMSSW_3_8_7, CMSSW_3_9_5, CMSSW_3_10_0_pre6, CMSSW_3_9_4, V03-03-04, CMSSW_3_10_0_pre5, CMSSW_3_9_3, CMSSW_3_9_2_patch5, CMSSW_3_10_0_pre4, CMSSW_3_9_2_patch4, CMSSW_3_8_6_patch1, CMSSW_3_9_2_patch3, CMSSW_3_9_2_patch2, CMSSW_3_9_2_patch1, CMSSW_3_9_2, CMSSW_3_10_0_pre3, CMSSW_3_8_6, CMSSW_3_9_1_patch1, CMSSW_3_9_1, CMSSW_3_10_0_pre2, CMSSW_3_8_5_patch3, V03-03-03, CMSSW_3_10_0_pre1, CMSSW_3_8_5_patch2, CMSSW_3_8_5_patch1, CMSSW_3_9_0, CMSSW_3_9_0_pre7, CMSSW_3_8_4_patch4, CMSSW_3_8_5, V03-03-02, CMSSW_3_9_0_pre6, CMSSW_3_8_4_patch3, CMSSW_3_9_0_pre5, CMSSW_3_8_4_patch2, CMSSW_3_8_4_patch1, CMSSW_3_9_0_pre4, CMSSW_3_8_4, CMSSW_3_8_3, V03-03-01, CMSSW_3_8_2_patch1, CMSSW_3_6_3_SLHC1, CMSSW_3_9_0_pre3, CMSSW_3_8_1_patch4, CMSSW_3_8_2, CMSSW_3_8_1_patch3, CMSSW_3_6_1_patch7, CMSSW_3_9_0_pre2, CMSSW_3_6_3_hltpatch4, CMSSW_3_8_1_patch2, CMSSW_3_8_1_patch1, CMSSW_3_7_1, CMSSW_3_8_1, CMSSW_3_6_3_patch2, CMSSW_3_9_0_pre1, CMSSW_3_8_0_patch1, CMSSW_3_8_0, CMSSW_3_6_1_patch6, CMSSW_3_8_0_pre8, CMSSW_3_8_0_pre7, CMSSW_3_8_0_pre6, CMSSW_3_6_3_patch1, CMSSW_3_7_0_patch4, CMSSW_3_7_0_patch3, CMSSW_3_8_0_pre5, CMSSW_3_6_1_patch5, CMSSW_3_8_0_pre4, CMSSW_3_6_3, CMSSW_3_8_0_pre2, CMSSW_3_7_0_patch2, CMSSW_3_6_2, CMSSW_3_7_0_patch1, CMSSW_3_8_0_pre1, CMSSW_3_6_1_patch4, CMSSW_3_7_0, CMSSW_3_6_1_patch3, CMSSW_3_5_7_hltpatch4, CMSSW_3_7_0_pre5, CMSSW_3_6_1_patch1, CMSSW_3_5_8_patch4, CMSSW_3_7_0_pre4, CMSSW_3_6_1, CMSSW_3_7_0_pre3, CMSSW_3_6_0_patch2, CMSSW_3_6_0_patch1, CMSSW_3_5_8_patch3, CMSSW_3_5_8_patch2, CMSSW_3_5_8_patch1, CMSSW_3_7_0_pre2, CMSSW_3_5_8, CMSSW_3_7_0_pre1, CMSSW_3_5_7, CMSSW_3_6_0, V03-02-03, CMSSW_3_6_0_pre6, CMSSW_3_6_0_pre5, CMSSW_3_5_6_patch1, CMSSW_3_5_6, CMSSW_3_5_4_patch2, CMSSW_3_5_5, CMSSW_3_6_0_pre4, CMSSW_3_5_4_patch1, CMSSW_3_6_0_pre3, CMSSW_3_5_4, CMSSW_3_5_3, CMSSW_3_6_0_pre2, CMSSW_3_5_2_patch2, CMSSW_3_5_2_patch1, CMSSW_3_6_0_pre1, V03-02-02, CMSSW_3_5_2, CMSSW_3_5_1_patch1, CMSSW_3_3_6_patch4, CMSSW_3_3_6_patch6, CMSSW_3_5_0_patch1, CMSSW_3_4_2_patch1, CMSSW_3_5_1, CMSSW_3_4_2, CMSSW_3_5_0, CMSSW_3_3_6_patch5, CMSSW_3_5_0_pre5, CMSSW_3_3_6_patch3, CMSSW_3_3_3_TSG, CMSSW_3_5_0_pre3, CMSSW_3_5_0_pre2, CMSSW_3_4_1, CMSSW_3_4_0, CMSSW_3_3_6_patch2, CMSSW_3_3_6_patch1, CMSSW_3_5_0_pre1, CMSSW_3_3_6, CMSSW_3_4_0_pre7, CMSSW_3_3_5, CMSSW_3_4_0_pre6, CMSSW_3_3_4, CMSSW_3_3_3_patch1, CMSSW_3_3_3, V03-02-01, CMSSW_3_4_0_pre5, CMSSW_3_4_0_pre4, CMSSW_3_3_2, CMSSW_3_4_0_pre3, CMSSW_3_3_1, CMSSW_3_4_0_pre2, CMSSW_3_2_8, CMSSW_3_2_7, V03-02-00, CMSSW_3_3_0, CMSSW_3_4_0_pre1, CMSSW_3_1_4, V03-01-04, CMSSW_3_3_0_pre6, V03-01-03, CMSSW_3_3_0_pre5, CMSSW_3_1_3, CMSSW_3_3_0_pre4, CMSSW_3_3_0_pre3, CMSSW_3_3_0_pre2, CMSSW_3_2_6, CMSSW_3_3_0_pre1, CMSSW_3_2_5, CMSSW_3_2_4, CMSSW_3_2_3, V03-01-02, CMSSW_3_2_2_patch2, CMSSW_3_2_2_patch1, CMSSW_3_2_2, CMSSW_3_1_2, CMSSW_3_2_1, CMSSW_3_2_0, CMSSW_3_1_1, CMSSW_2_2_13_offpatch1, CMSSW_3_1_0_patch1, CMSSW_3_1_0, CMSSW_3_1_0_pre11, V03-01-01, CMSSW_3_1_0_pre10, CMSSW_2_2_13_HLT, CMSSW_2_2_13, CMSSW_2_2_12_HLT, CMSSW_2_2_12, CMSSW_3_1_0_pre9, CMSSW_3_1_0_pre8, CMSSW_2_2_11_offpatch1, CMSSW_2_2_11, CMSSW_2_2_11_HLT, CMSSW_3_1_0_pre7, CMSSW_2_2_10_HLT, V03-01-00, CMSSW_2_2_10, V03-00-05, V03-00-04, CMSSW_2_2_9, CMSSW_3_1_0_pre6, V03-00-03, CMSSW_2_1_19, CMSSW_2_2_8, CMSSW_3_1_0_pre5, V03-00-02, V03-00-00, CMSSW_2_2_7, V02-04-00, CMSSW_3_1_0_pre4, CMSSW_2_2_6_HLT, CMSSW_2_2_6, CMSSW_3_1_0_pre3, V02-03-05, CMSSW_3_1_0_pre2, V02-03-04, CMSSW_3_0_0_pre10, CMSSW_2_2_5, CMSSW_3_0_0_pre9, CMSSW_3_1_0_pre1, CMSSW_2_2_4, CMSSW_3_0_0_pre8, V02-03-03, CMSSW_3_0_0_pre7, V02-03-02, CMSSW_3_0_0_pre6, CMSSW_3_0_0_pre5, CMSSW_3_0_0_pre4, V02-03-01, CMSSW_2_2_3, CMSSW_3_0_0_pre3, CMSSW_2_2_2, CMSSW_2_2_1, CMSSW_2_2_0, CMSSW_2_1_17, CMSSW_3_0_0_pre2, CMSSW_2_2_0_pre1, CMSSW_2_1_12, CMSSW_3_0_0_pre1, CMSSW_2_1_11, CMSSW_2_1_10_patch2, CMSSW_2_1_10_patch1, CMSSW_2_1_10, CMSSW_2_1_9, CMSSW_2_1_8, CMSSW_2_1_7, V02-03-00, CMSSW_2_1_6, CMSSW_2_1_5, CMSSW_2_1_4, CMSSW_2_1_3, CMSSW_2_1_2, CMSSW_2_1_1, CMSSW_2_1_0, CMSSW_2_0_12, CMSSW_2_1_0_pre11, CMSSW_2_1_0_pre10, CMSSW_2_1_0_pre9, CMSSW_2_1_0_pre8, CMSSW_2_0_11, CMSSW_2_1_0_pre7, CMSSW_2_0_10, CMSSW_2_1_0_pre6, CMSSW_2_0_9, CMSSW_2_1_0_pre5, CMSSW_2_0_8, CMSSW_2_1_0_pre4, CMSSW_2_0_7, CMSSW_2_0_6, CMSSW_2_0_5, CMSSW_2_1_0_pre3, V02-02-05, CMSSW_2_0_4, CMSSW_2_0_3, V02-02-04, CMSSW_2_0_2, CMSSW_2_0_1, CMSSW_2_1_0_pre2, V02-02-03, CMSSW_2_0_0, CMSSW_2_1_0_pre1, CMSSW_1_8_4, CMSSW_2_0_0_pre9, CMSSW_2_0_0_pre8, V02-02-02, CMSSW_1_8_3, CMSSW_2_0_0_pre7, CMSSW_1_8_2, CMSSW_2_0_0_pre6, CMSSW_2_0_0_pre5, CMSSW_1_8_1, CMSSW_2_0_0_pre4, CMSSW_1_8_0, CMSSW_2_0_0_pre3, CMSSW_1_8_0_pre10, CMSSW_1_8_0_pre9, V02-02-01, V02-02-00, V02-01-02, V02-00-02-01, V02-01-01, V02-01-00, CMSSW_2_0_0_pre2, CMSSW_2_0_0_pre1, CMSSW_1_8_0_pre8, CMSSW_1_8_0_pre7, CMSSW_1_8_0_pre6, CMSSW_1_8_0_pre5, CMSSW_1_8_0_pre4, V02-00-02, CMSSW_1_8_0_pre3a, CMSSW_1_8_0_pre2, V02-00-01, CMSSW_1_8_0_pre1, V02-00-00
Branch point for: NewHierarchy165
Changes since 1.3: +20 -24 lines
Log Message:
Changes wrt CommmonAlignment and TrackerAlignment (use align::ID and StructureType). Clean up header files.

File Contents

# User Rev Content
1 cklae 1.4 #include "Alignment/CommonAlignment/interface/Alignable.h"
2     #include "Alignment/CommonAlignment/interface/AlignmentParameters.h"
3 fronga 1.1 #include "FWCore/MessageLogger/interface/MessageLogger.h"
4    
5     // this class's header
6     #include "Alignment/CommonAlignmentAlgorithm/interface/AlignableDataIO.h"
7    
8     // ----------------------------------------------------------------------------
9     AlignableAbsData AlignableDataIO::readAbsPos(Alignable* ali, int& ierr)
10     {
11     return readAbsRaw(ali,ierr);
12     }
13    
14    
15     // ----------------------------------------------------------------------------
16     AlignableAbsData AlignableDataIO::readOrgPos(Alignable* ali, int& ierr)
17     {
18     return readAbsRaw(ali,ierr);
19     }
20    
21    
22     // ----------------------------------------------------------------------------
23     AlignableRelData AlignableDataIO::readRelPos(Alignable* ali, int& ierr)
24     {
25     return readRelRaw(ali,ierr);
26     }
27    
28    
29     // ----------------------------------------------------------------------------
30     int AlignableDataIO::writeAbsPos(Alignable* ali, bool validCheck)
31     {
32    
33 cklae 1.3 if ( !(validCheck) || ali->alignmentParameters()->isValid() )
34     {
35     // position in global frame
36     align::PositionType pos = ali->surface().position();
37     // global rotation
38     align::RotationType rot = ali->surface().rotation();
39     // write
40     return writeAbsRaw(
41     AlignableAbsData( pos,rot,
42 cklae 1.4 ali->id(),
43     ali->alignableObjectId() )
44 cklae 1.3 );
45     }
46    
47     return 1;
48 fronga 1.1 }
49    
50    
51     // ----------------------------------------------------------------------------
52     int AlignableDataIO::writeRelPos(Alignable* ali, bool validCheck)
53     {
54 cklae 1.3 if ( !(validCheck) || ali->alignmentParameters()->isValid() )
55     {
56     // rel. shift in global frame
57     align::GlobalVector pos = ali->displacement();
58     // rel. rotation in global frame
59     align::RotationType rot = ali->rotation();
60     // write
61 cklae 1.4 return writeRelRaw(AlignableRelData(pos,rot,ali->id(),
62     ali->alignableObjectId()));
63 cklae 1.3 }
64    
65     return 1;
66 fronga 1.1 }
67    
68    
69     // ----------------------------------------------------------------------------
70     int AlignableDataIO::writeOrgPos(Alignable* ali, bool validCheck)
71     {
72 cklae 1.3 if ( !(validCheck) || ali->alignmentParameters()->isValid() )
73     {
74     // orig position
75     align::PositionType pos = ali->globalPosition() - ali->displacement();
76     // orig rotation
77     align::RotationType rot = ali->globalRotation() * ali->rotation().transposed();
78     // write
79 cklae 1.4 return writeAbsRaw(AlignableAbsData(pos,rot,ali->id(),
80     ali->alignableObjectId()));
81 cklae 1.3 }
82    
83     return 1;
84 fronga 1.1 }
85    
86    
87     // ----------------------------------------------------------------------------
88 cklae 1.4 int AlignableDataIO::writeAbsPos(const align::Alignables& alivec,
89 cklae 1.3 bool validCheck)
90 fronga 1.1 {
91    
92     int icount=0;
93 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
94 cklae 1.3 it!=alivec.end(); it++ )
95     {
96     int iret = writeAbsPos(*it,validCheck);
97     if (iret==0) icount++;
98     }
99 flucke 1.2 LogDebug("WriteAbsPos") << "all,written: " << alivec.size() <<","<< icount;
100 fronga 1.1
101     return 0;
102    
103     }
104    
105    
106     // ----------------------------------------------------------------------------
107     AlignablePositions
108 cklae 1.4 AlignableDataIO::readAbsPos(const align::Alignables& alivec, int& ierr)
109 fronga 1.1 {
110    
111     AlignablePositions retvec;
112     int ierr2=0;
113     ierr=0;
114 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
115 cklae 1.3 it!=alivec.end(); it++ )
116     {
117     AlignableAbsData ad=readAbsPos(*it, ierr2);
118     if (ierr2==0) retvec.push_back(ad);
119     }
120 fronga 1.1
121 flucke 1.2 LogDebug("ReadAbsPos") << "all,written: " << alivec.size() <<"," << retvec.size();
122 fronga 1.1
123     return retvec;
124    
125     }
126    
127    
128     // ----------------------------------------------------------------------------
129 cklae 1.4 int AlignableDataIO::writeOrgPos( const align::Alignables& alivec,
130 cklae 1.3 bool validCheck )
131 fronga 1.1 {
132    
133     int icount=0;
134 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
135 cklae 1.3 it!=alivec.end(); it++ )
136     {
137     int iret=writeOrgPos(*it,validCheck);
138     if (iret==0) icount++;
139     }
140 fronga 1.1
141 flucke 1.2 LogDebug("WriteOrgPos") << "all,written: " << alivec.size() <<"," << icount;
142 fronga 1.1 return 0;
143    
144     }
145    
146    
147     // ----------------------------------------------------------------------------
148     AlignablePositions
149 cklae 1.4 AlignableDataIO::readOrgPos(const align::Alignables& alivec, int& ierr)
150 fronga 1.1 {
151    
152     AlignablePositions retvec;
153     int ierr2=0;
154     ierr=0;
155 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
156 cklae 1.3 it!=alivec.end(); it++ )
157     {
158     AlignableAbsData ad=readOrgPos(*it, ierr2);
159     if (ierr2==0) retvec.push_back(ad);
160     }
161 fronga 1.1
162 flucke 1.2 LogDebug("ReadOrgPos") << "all,read: " << alivec.size() <<", "<< retvec.size();
163 fronga 1.1
164     return retvec;
165    
166     }
167    
168    
169     // ----------------------------------------------------------------------------
170 cklae 1.4 int AlignableDataIO::writeRelPos(const align::Alignables& alivec,
171 cklae 1.3 bool validCheck )
172 fronga 1.1 {
173    
174     int icount=0;
175 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
176 cklae 1.3 it!=alivec.end(); it++ ) {
177 fronga 1.1 int iret=writeRelPos(*it,validCheck);
178     if (iret==0) icount++;
179     }
180 flucke 1.2 LogDebug("WriteRelPos") << "all,written: " << alivec.size() <<", "<< icount;
181 fronga 1.1 return 0;
182    
183     }
184    
185    
186     // ----------------------------------------------------------------------------
187     AlignableShifts
188 cklae 1.4 AlignableDataIO::readRelPos(const align::Alignables& alivec, int& ierr)
189 fronga 1.1 {
190    
191     AlignableShifts retvec;
192     int ierr2=0;
193     ierr=0;
194 cklae 1.4 for( align::Alignables::const_iterator it=alivec.begin();
195 cklae 1.3 it!=alivec.end(); it++ )
196     {
197     AlignableRelData ad=readRelPos(*it, ierr2);
198     if (ierr2==0) retvec.push_back(ad);
199     }
200 flucke 1.2 LogDebug("ReadRelPos") << "all,read: " << alivec.size() <<", "<< retvec.size();
201 fronga 1.1
202     return retvec;
203    
204     }