00001 #ifndef CocoaDBMgr_HH 00002 #define CocoaDBMgr_HH 00003 //-*- C++ -*- 00004 // 00005 // Package: Alignment/CocoaFit 00006 // Class: CocoaDBMgr 00007 // 00008 /* 00009 00010 Description: 00011 */ 00012 // 00013 00014 00015 #include <stdexcept> 00016 #include <string> 00017 #include <iostream> 00018 #include <map> 00019 00020 class Event; 00021 class EventSetup; 00022 class Entry; 00023 class Alingments; 00024 //#include "FWCore/Framework/interface/EventSetup.h" 00025 00026 class OpticalAlignments; 00027 class OpticalAlignInfo; 00028 class OpticalAlignMeasurements; 00029 class Alignments; 00030 class AlignmentErrors; 00031 class AlignTransform; 00032 class AlignTransformError; 00033 00034 class OpticalObject; 00035 00036 00037 class CocoaDBMgr 00038 { 00039 private: 00040 CocoaDBMgr(); 00041 00042 public: 00043 static CocoaDBMgr* getInstance(); 00044 00045 ~CocoaDBMgr() { } 00046 00047 public: 00048 bool DumpCocoaResults(); 00049 00050 private: 00051 OpticalAlignments* BuildOpticalAlignments(); 00052 double GetEntryError( const Entry* entry ); 00053 double GetEntryError( const Entry* entry1, const Entry* entry2 ); 00054 00055 OpticalAlignInfo GetOptAlignInfoFromOptO( OpticalObject* opto ); 00056 00057 std::pair< Alignments*,AlignmentErrors*> BuildAlignments(bool bDT); 00058 AlignTransform* GetAlignInfoFromOptO( OpticalObject* opto); 00059 AlignTransformError* GetAlignInfoErrorFromOptO( OpticalObject* opto); 00060 00061 private: 00062 static CocoaDBMgr* instance; 00063 00064 }; 00065 00066 #endif