Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Crane.h

Go to the documentation of this file.
00001 #ifndef CRANE_INCLUDED
00002 #define CRANE_INCLUDED
00003 
00004 #include <odem.h>
00005 
00006 #include "CraneRequestq.h"
00007 #include "Bath.h"
00008 #include "Storage.h"
00009 #include "HStorage.h"
00010 #include "Location.h"
00011 #include "Cooling.h"
00012 #include "Observer.h"
00013 
00014 class Crane : public Discrete {
00015 
00016         double craneTimeTable[14][14];
00017         Waitq *craneWaitQueueInTransmission;
00018 
00019 public:
00020         static CraneRequestq*   craneRequestQ;  // Registrierung von Krananforderungen
00021         
00022         static Waitq*   dispatcherQ;    // Synchronisation mit Dispatcher (Palette)                             
00023         static Waitq*   emptyFurnaceQ;  // Synchronisation mit freien Öfen
00024         static Waitq*   inBathQ;                // Synchronisation mit besetzten Öfen (AbschreckungsBeginn)
00025         static Waitq*   inAirQ;                 // Synchronisation mit besetzten Öfen (AbschreckungsBeginn)
00026         static Waitq*   outBathQ;               // Synchronisation mit Öfen (AbschreckungsEnde)
00027         static Waitq*   nextBathQ;              // Synchronisation mit Öfen (AbschreckungsFortsetzung)
00028         static Waitq*   outAirQ;                // Synchronisation mit Öfen (AbschreckungsEnde)
00029         static Waitq*   finalOutAirQ;
00030         static Waitq*   readyFurnaceQ;  // Synchronisation mit wartenden fertigen Öfen 
00031         
00032         Storage                         *transfer;
00033         PlaceConfiguration      *placeConfiguration;
00034         Place                           *parkingPlace,
00035                                                 *bathPlace;
00036         Observer                        *observer;
00037 
00038         Res                             *occu;                  // Kranauslastung
00039         /*
00040         Histo                   *blockedReady,
00041                                         *blockedCool,
00042                                         *blockedBath,
00043                                         *blockedHot,
00044                                         *blockedEmpty,
00045                                         *blockedPalette;
00046         */
00047 
00048         Location                *loc;
00049 
00050         void moveTo(PositionType pt, int no);
00051         void newPos(PositionType pt, int no, Direction d);
00052                 
00053         virtual int main();
00054 
00055         Crane ( char *n, 
00056                 
00057                         Storage *st, PlaceConfiguration *pC, 
00058                         Res *occ, 
00059                         /*Histo *bR, Histo *bC, Histo *bB, Histo *bH, Histo *bE, Histo *bP, */
00060                         Location* lo, Observer *ob, Waitq *craneWaitQueueInTransmission_);
00061 
00062         static bool PALETTEorFILLEDorEMPTYorHOTorCOOLorNEXTBATHorREADY();
00063         static bool PALETTEorFILLEDorHOTorCOOLorNEXTBATHorREADY();
00064         static bool EMPTYorHOTorCOOLorNEXTBATHorREADY();
00065         static bool HOTorCOOLorNEXTBATHorREADY();
00066 };
00067 
00068 #endif
00069 

Generated on Tue Apr 26 14:42:42 2005 for rollingmill by doxygen 1.3.6