CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Alignment/CommonAlignmentAlgorithm/interface/AlignmentParametersIORoot.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentParametersIORoot_h
00002 #define Alignment_CommonAlignmentAlgorithm_AlignmentParametersIORoot_h
00003 
00011 
00012 #include "Alignment/CommonAlignment/interface/StructureType.h"
00013 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentIORootBase.h"
00014 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentParametersIO.h"
00015 
00016 class AlignmentParametersIORoot : public AlignmentIORootBase, public AlignmentParametersIO
00017 {
00018   friend class AlignmentIORoot;
00019 
00020   private:
00021 
00023   AlignmentParametersIORoot(); 
00024 
00026   int writeOne(Alignable* ali);
00027 
00029   AlignmentParameters* readOne(Alignable* ali, int& ierr);
00030 
00032   int open(const char* filename, int iteration, bool writemode)
00033     {return openRoot(filename,iteration,writemode);};
00034 
00036   int close(void);
00037 
00038   // helper functions
00039 
00042   int findEntry(align::ID, align::StructureType);
00043 
00045   void createBranches(void);
00046 
00048   void setBranchAddresses(void);
00049 
00050   // Alignment parameter tree 
00051   int theCovRang, theCovarRang, theHieraLevel, theParamType;
00052   align::ID theId;
00053   align::StructureType theObjId;
00054 
00055   double thePar[nParMax],theCov[nParMax*(nParMax+1)/2];
00056 
00057 };
00058 
00059 #endif