Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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