Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FabPlnInstallLookup.h

Go to the documentation of this file.
00001 
00002 // $Id: FabPlnInstallLookup.h,v 1.6 2008/03/04 21:46:45 rhatcher Exp $
00003 //
00004 // FabPlnInstallLookup
00005 //
00006 // FabPlnInstallLookup - for conveniently looking up plane installation info
00007 //
00008 // Author:  R. Hatcher 2002.01.24
00009 //
00011 
00012 #ifndef FABPLNINSTALLLOOKUP_H
00013 #define FABPLNINSTALLLOOKUP_H
00014 
00015 #include "DatabaseInterface/DbiResultPtr.h"
00016 #include "Fabrication/FabPlnInstall.h"
00017 #include "Fabrication/FabSteelPlate.h"
00018 
00019 // <utility> has std::pair
00020 #include <utility>
00021 #include <vector>
00022 
00023 class FabPlnInstallLookup {
00024 
00025  public:
00026 
00027    FabPlnInstallLookup(const VldContext& vldc);
00028    virtual ~FabPlnInstallLookup();
00029 
00030    PlexPlaneId          GetFirstNormalPlane() const { return fFirstNormal; }
00031    PlexPlaneId          GetLastNormalPlane()  const { return fLastNormal; }
00032 
00033 
00034    const FabPlnInstall* NextInstall(const VldTimeStamp& ts,
00035                                     bool ignoreVeto=true) const;
00036    VldTimeStamp         TimeNextInstall(const VldTimeStamp& ts,
00037                                     bool ignoreVeto=true) const;
00038 
00039    const FabPlnInstall* NextInstall(bool ignoreVeto=true) const
00040      { return NextInstall(fVldContext.GetTimeStamp(),ignoreVeto); }
00041    VldTimeStamp         TimeNextInstall(bool ignoreVeto=true) const
00042      { return TimeNextInstall(fVldContext.GetTimeStamp(),ignoreVeto); }
00043 
00044    const FabPlnInstall* GetFabPlnInstall(const PlexPlaneId& plnid) const;
00045    std::string          GetScintMdlMfgId(const PlexScintMdlId& mdlid) const;
00046    std::string          GetSteelSlabMfgId(const PlexPlaneId& plnid,
00047                                           UShort_t indx) const;
00048 
00049    PlexScintMdlId       WhereIsScintMdl(const std::string& mfgid) const;
00050    std::pair<PlexPlaneId,UShort_t> 
00051                         WhereIsSteelSlab(const std::string& mfgid) const;
00052 
00053    std::vector<const FabSteelPlate*> 
00054                         GetFabSteelPlates(const PlexPlaneId& plnid) const;
00055 
00056    virtual void         Print(Option_t* option="") const;
00057 
00058    unsigned int         LookForOddEntries() const;
00059 
00060    // make the data publically available
00061            DbiResultPtr<FabPlnInstall>   fPlnInstallTbl;    //ctor's VldContext
00062    mutable DbiResultPtr<FabPlnInstall>   fPlnInstallTblAlt; //alt VldContext
00063            DbiResultPtr<FabSteelPlate>   fSteelPlateTbl;    //ctor's VldContext
00064 
00065  protected:
00066 
00067    VldContext                    fVldContext;
00068 
00069    PlexPlaneId                   fFirstNormal;
00070    PlexPlaneId                   fLastNormal;
00071 
00072    ClassDef(FabPlnInstallLookup,0) // never written out
00073 };
00074 
00075 #endif // FABPLNINSTALLLOOKUP_H

Generated on Mon Feb 15 11:06:39 2010 for loon by  doxygen 1.3.9.1