ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/src/AlignmentParametersIO.cc
Revision: 1.3
Committed: Thu Nov 30 09:56:04 2006 UTC (18 years, 5 months ago) by flucke
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_1_3_6, CMSSW_1_3_1_HLT6, CMSSW_1_3_5, CMSSW_1_3_1_HLT5, CMSSW_1_3_1_HLT4, CMSSW_1_3_1_HLT3, CMSSW_1_3_4, CMSSW_1_3_3, CMSSW_1_3_2, CMSSW_1_3_1, CMSSW_1_4_0_pre2, CMSSW_1_3_0, CMSSW_1_3_0_pre7, CMSSW_1_4_0_pre1, CMSSW_1_3_0_pre6, V01-02-00, V01-01-04, CMSSW_1_3_0_pre5, CMSSW_1_3_0_pre4, V01-01-03, CMSSW_1_3_0_pre3, V01-01-02, CMSSW_1_3_0_SLC4_pre2, CMSSW_1_3_0_pre2, V01-01-01, V01-01-00, CMSSW_1_3_0_SLC4_pre1, CMSSW_1_3_0_pre1, V01-00-00, V00-08-01, V00-08-00
Changes since 1.2: +45 -5 lines
Log Message:
- add mehtods to write original rigid-body (mis-)placement parameters
- cleaning of includes/docu/messaging

File Contents

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