Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 //   COCOA class header file

0002 //Id:  EntryMgr.h

0003 //CAT: Model

0004 //

0005 //   Manages the parameters of the input file (variables that are given a value to be reused in the file)

0006 //

0007 //   History: v1.0  11/11/01   Pedro Arce

0008 #ifndef EntryMgr_h
0009 #define EntryMgr_h
0010 
0011 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h"
0012 #include <vector>
0013 class EntryData;
0014 
0015 class EntryMgr {
0016 private:
0017   EntryMgr(){};
0018 
0019 public:
0020   static EntryMgr* getInstance();
0021   ALIbool readEntryFromReportOut(const std::vector<ALIstring>& wl);
0022 
0023   ALIdouble getDimOutLengthVal() const { return dimOutLengthVal; }
0024   ALIdouble getDimOutLengthSig() const { return dimOutLengthSig; }
0025   ALIdouble getDimOutAngleVal() const { return dimOutAngleVal; }
0026   ALIdouble getDimOutAngleSig() const { return dimOutAngleSig; }
0027 
0028   EntryData* findEntryByShortName(const ALIstring& optoName, const ALIstring& entryName = "");
0029   EntryData* findEntryByLongName(const ALIstring& optoName, const ALIstring& entryName = "");
0030   EntryData* findEntryByName(const ALIstring& optoName, const ALIstring& entryName = "") {
0031     return findEntryByLongName(optoName, entryName);
0032   }
0033 
0034   ALIstring extractShortName(const ALIstring& name);
0035 
0036   ALIint numberOfEntries() { return theEntryData.size(); }
0037   std::vector<EntryData*> getEntryData() const { return theEntryData; }
0038 
0039   void clearEntryData() { theEntryData.clear(); }
0040 
0041 private:
0042   EntryData* findEntry(const std::vector<ALIstring>& wl);
0043 
0044 private:
0045   static EntryMgr* theInstance;
0046 
0047   ALIdouble dimOutLengthVal, dimOutLengthSig, dimOutAngleVal, dimOutAngleSig;
0048   std::vector<EntryData*> theEntryData;
0049 };
0050 
0051 #endif