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