Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentCorrelationsIORoot_h
0002 #define Alignment_CommonAlignmentAlgorithm_AlignmentCorrelationsIORoot_h
0003 
0004 #include "Alignment/CommonAlignment/interface/StructureType.h"
0005 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentIORootBase.h"
0006 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentCorrelationsIO.h"
0007 
0008 /// Concrete class for ROOT based IO of Correlations
0009 
0010 class AlignmentCorrelationsIORoot : public AlignmentIORootBase, public AlignmentCorrelationsIO {
0011   friend class AlignmentIORoot;
0012 
0013 private:
0014   /// constructor
0015   AlignmentCorrelationsIORoot();
0016 
0017   /// open IO
0018   int open(const char* filename, int iteration, bool writemode) override {
0019     return openRoot(filename, iteration, writemode);
0020   };
0021 
0022   /// close IO
0023   int close(void) override { return closeRoot(); };
0024 
0025   /// write correlations
0026   int write(const align::Correlations& cor, bool validCheck) override;
0027 
0028   /// read correlations
0029   align::Correlations read(const align::Alignables& alivec, int& ierr) override;
0030 
0031   void createBranches(void) override;
0032   void setBranchAddresses(void) override;
0033 
0034   // data members
0035 
0036   /// correlation tree
0037   align::ID Ali1Id, Ali2Id;
0038   align::StructureType Ali1ObjId, Ali2ObjId;
0039   int corSize;
0040   double CorMatrix[nParMax * nParMax];
0041 };
0042 
0043 #endif