ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/src/AlignmentParametersIO.cc
Revision: 1.5
Committed: Wed Jun 13 08:20:10 2007 UTC (17 years, 10 months ago) by flucke
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_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_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_6_0_pre9, CMSSW_1_6_0_pre8, CMSSW_1_6_0_pre7, CMSSW_1_6_0_pre6, 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_6_0_pre3, CMSSW_1_6_0_pre2, V01-08-01, V01-04-00-05, V01-04-00-03
Branch point for: V01-04-00-04
Changes since 1.4: +1 -1 lines
Log Message:
adjust to slightly changed interface for recalculating misalignment parameters in RigidBodyAlignmentParameters

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 flucke 1.5 ali->setAlignmentParameters(new RigidBodyAlignmentParameters(ali, true));
18 flucke 1.3 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     }