ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/src/AlignmentParametersIO.cc
Revision: 1.4
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_4_10, CMSSW_1_4_9, CMSSW_1_4_8, CMSSW_1_4_7, CMSSW_1_5_4, CMSSW_1_5_3, CMSSW_1_4_6, CMSSW_1_5_2, CMSSW_1_6_0_pre1, CMSSW_1_5_1, CMSSW_1_4_5, CMSSW_1_5_0, CMSSW_1_4_3g483, CMSSW_1_4_4, CMSSW_1_5_0_pre6, CMSSW_1_4_3, 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
Changes since 1.3: +2 -3 lines
Log Message:
Remove AlignmentTransformations and use align namespace.

File Contents

# Content
1 #include "FWCore/MessageLogger/interface/MessageLogger.h"
2
3 #include "Alignment/CommonAlignment/interface/Alignable.h"
4 #include "Alignment/CommonAlignmentParametrization/interface/RigidBodyAlignmentParameters.h"
5
6 // this class's header
7 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentParametersIO.h"
8
9 //--------------------------------------------------------------------------------------------------
10 // write one set of original parameters
11 int AlignmentParametersIO::writeOneOrigRigidBody(Alignable *ali)
12 {
13
14 AlignmentParameters *par = ali->alignmentParameters();
15 AlignmentParameters *parBack = (par ? par->clone(par->parameters(), par->covariance()) : 0);
16
17 ali->setAlignmentParameters(new RigidBodyAlignmentParameters(ali));
18 int iret = this->writeOne(ali);
19
20 ali->setAlignmentParameters(parBack); // deletes the above created RigidBodyAlignmentParameters
21
22 return iret;
23 }
24
25
26 //-----------------------------------------------------------------------------
27 // write many parameters
28 int
29 AlignmentParametersIO::write(const std::vector<Alignable*>& alivec,
30 bool validCheck)
31 {
32 int icount=0;
33 for(std::vector<Alignable*>::const_iterator it=alivec.begin();
34 it!=alivec.end(); it++) {
35 if ((*it)->alignmentParameters()->isValid() || !(validCheck)) {
36 icount++;
37 int iret=writeOne(*it);
38 if (iret!=0) return iret;
39 }
40 }
41 edm::LogInfo("Alignment") << "@SUB=AlignmentParametersIO::write"
42 << "Wrote " << icount << " out of " << alivec.size() << " parameters";
43 return 0;
44 }
45
46
47 //-----------------------------------------------------------------------------
48 // write many original parameters
49 int
50 AlignmentParametersIO::writeOrigRigidBody(const std::vector<Alignable*>& alivec, bool validCheck)
51 {
52 int icount = 0;
53 for(std::vector<Alignable*>::const_iterator it = alivec.begin(); it != alivec.end(); ++it) {
54 if (!validCheck || (*it)->alignmentParameters()->isValid()) {
55 ++icount;
56 int iret = this->writeOneOrigRigidBody(*it);
57 if (iret != 0) return iret;
58 }
59 }
60 edm::LogInfo("Alignment") << "@SUB=AlignmentParametersIO::writeOrigRigidBody"
61 << "Wrote " << icount << " out of " << alivec.size()
62 << " original parameters.";
63 return 0;
64 }
65
66 //-----------------------------------------------------------------------------
67 // read many parameters
68
69 std::vector<AlignmentParameters*>
70 AlignmentParametersIO::read(const std::vector<Alignable*>& alivec, int& ierr)
71 {
72 std::vector<AlignmentParameters*> retvec;
73 int ierr2;
74 int icount=0;
75 for(std::vector<Alignable*>::const_iterator it=alivec.begin();
76 it!=alivec.end(); it++) {
77 AlignmentParameters* ad=readOne(*it, ierr2);
78 if (ad!=0 && ierr2==0) { retvec.push_back(ad); icount++; }
79 }
80 edm::LogInfo("Alignment") << "@SUB-AlignmentParametersIO::write"
81 << "Read " << icount << " out of " << alivec.size() << " parameters";
82 return retvec;
83 }