Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:34:27

0001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentParametersIO_h
0002 #define Alignment_CommonAlignmentAlgorithm_AlignmentParametersIO_h
0003 
0004 #include "Alignment/CommonAlignment/interface/Utilities.h"
0005 
0006 /// \class AlignmentParametersIO
0007 ///
0008 /// abstract base class for I/O of AlignmentParameters
0009 ///
0010 ///  $Date: 2007/01/23 16:07:08 $
0011 ///  $Revision: 1.4 $
0012 /// (last update by $Author: fronga $)
0013 
0014 class AlignmentParametersIO {
0015 protected:
0016   virtual ~AlignmentParametersIO() {}
0017 
0018   /// open IO
0019   virtual int open(const char* filename, int iteration, bool writemode) = 0;
0020 
0021   /// close IO
0022   virtual int close(void) = 0;
0023 
0024   /// write AlignmentParameters of one Alignable
0025   virtual int writeOne(Alignable* ali) = 0;
0026 
0027   /// write original RigidBodyAlignmentParameters (i.e. 3 shifts and 3 rotation)
0028   virtual int writeOneOrigRigidBody(Alignable* ali);
0029 
0030   /// read AlignmentParameters of one Alignable
0031   virtual AlignmentParameters* readOne(Alignable* ali, int& ierr) = 0;
0032 
0033   /// write AlignmentParameters of many Alignables
0034   int write(const align::Alignables& alivec, bool validCheck);
0035 
0036   /// write original RigidBodyAlignmentParameters of many Alignables
0037   int writeOrigRigidBody(const align::Alignables& alivec, bool validCheck);
0038 
0039   /// read AlignmentParameters of many Alignables
0040   align::Parameters read(const align::Alignables& alivec, int& ierr);
0041 };
0042 
0043 #endif