Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:08

0001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentIO_h
0002 #define Alignment_CommonAlignmentAlgorithm_AlignmentIO_h
0003 
0004 /// \class AlignmentIO
0005 ///
0006 /// Abstract base class for input/output of Alignment parameters,
0007 /// Correlations, as well as absolute and relative coordinates of
0008 /// Alignables
0009 ///
0010 ///  $Date: 2006/11/30 09:56:03 $
0011 ///  $Revision: 1.3 $
0012 /// (last update by $Author: flucke $)
0013 
0014 #include "Alignment/CommonAlignment/interface/Utilities.h"
0015 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignableData.h"
0016 
0017 class AlignmentIO {
0018 public:
0019   virtual ~AlignmentIO() = default;
0020   /// write AlignmentParameters
0021   virtual void writeAlignmentParameters(
0022       const align::Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0023 
0024   /// read AlignmentParameters
0025   virtual align::Parameters readAlignmentParameters(const align::Alignables& alivec,
0026                                                     const char* filename,
0027                                                     int iter,
0028                                                     int& ierr) = 0;
0029 
0030   /// write RigidBodyAlignmentParameters as applied on top of original positions
0031   virtual void writeOrigRigidBodyAlignmentParameters(
0032       const align::Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0033 
0034   /// write Correlations
0035   virtual void writeCorrelations(
0036       const align::Correlations& cormap, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0037 
0038   /// read Correlations
0039   virtual align::Correlations readCorrelations(const align::Alignables& alivec,
0040                                                const char* filename,
0041                                                int iter,
0042                                                int& ierr) = 0;
0043 
0044   /// write Alignable current absolute positions
0045   virtual void writeAlignableAbsolutePositions(
0046       const align::Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0047 
0048   /// read Alignable current absolute positions
0049   virtual AlignablePositions readAlignableAbsolutePositions(const align::Alignables& alivec,
0050                                                             const char* filename,
0051                                                             int iter,
0052                                                             int& ierr) = 0;
0053 
0054   /// write Alignable original (before misalignment) absolute positions
0055   virtual void writeAlignableOriginalPositions(
0056       const align::Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0057 
0058   /// read Alignable original (before misalignment) absolute positions
0059   virtual AlignablePositions readAlignableOriginalPositions(const align::Alignables& alivec,
0060                                                             const char* filename,
0061                                                             int iter,
0062                                                             int& ierr) = 0;
0063 
0064   /// write Alignable relative positions (shift,rotation)
0065   virtual void writeAlignableRelativePositions(
0066       const align::Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr) = 0;
0067 
0068   /// read Alignable relative positions (shift,rotation)
0069   virtual AlignableShifts readAlignableRelativePositions(const align::Alignables& alivec,
0070                                                          const char* filename,
0071                                                          int iter,
0072                                                          int& ierr) = 0;
0073 };
0074 
0075 #endif