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

# User Rev Content
1 fronga 1.1 #include "FWCore/MessageLogger/interface/MessageLogger.h"
2    
3 flucke 1.3 #include "Alignment/CommonAlignment/interface/Alignable.h"
4     #include "Alignment/CommonAlignmentParametrization/interface/RigidBodyAlignmentParameters.h"
5    
6 cklae 1.4 // this class's header
7     #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentParametersIO.h"
8 flucke 1.3
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 fronga 1.1
26     //-----------------------------------------------------------------------------
27     // write many parameters
28     int
29     AlignmentParametersIO::write(const std::vector<Alignable*>& alivec,
30 flucke 1.3 bool validCheck)
31 fronga 1.1 {
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 flucke 1.3 edm::LogInfo("Alignment") << "@SUB=AlignmentParametersIO::write"
42     << "Wrote " << icount << " out of " << alivec.size() << " parameters";
43 fronga 1.1 return 0;
44 flucke 1.3 }
45    
46 fronga 1.1
47 flucke 1.3 //-----------------------------------------------------------------------------
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 fronga 1.1 }
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 flucke 1.3 edm::LogInfo("Alignment") << "@SUB-AlignmentParametersIO::write"
81     << "Read " << icount << " out of " << alivec.size() << " parameters";
82 fronga 1.1 return retvec;
83     }