Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

TxAccelIfc.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------
00002 //
00003 // File:    TxAccelIfc.h
00004 //
00005 // Purpose: 
00006 //    Pure virtual interface to define the interaction with a particle
00007 //    accelerator model needed for use with the Tech-X QScimpl
00008 //    graphics package.  This interface does not depend on QT.
00009 //
00010 // Version: $Id: TxAccelIfc.h,v 1.6 2001/12/07 00:14:47 kgl Exp $
00011 //
00012 // Copyright (c) 2000 by Tech-X Corporation.  All rights reserved.
00013 //
00014 //--------------------------------------------------------------------
00015 
00016 #ifndef TX_ACCEL_IFC_H
00017 #define TX_ACCEL_IFC_H
00018 
00019 // txmodel includes
00020 #include "TxNldIfc.h"
00021 #include "TxLinePlotData.h"
00022 
00032 class TxAccelIfc : public virtual TxNldIfc {
00033 
00034 
00035 public:
00036 
00037 
00041   virtual void addLayoutElements() = 0;
00042 
00049   virtual void visitBeamLine(int index, TxAttributeSet *beamLine,
00050                                 TxAttributeSet *beamLineData) = 0;
00051 
00055   virtual void addElementNames() = 0;
00056 
00060   virtual void addTwissLayoutElements() = 0;
00061 
00066   virtual int readRNG(istream& fl) = 0;
00067 
00072   virtual int readMAD(istream& fl) = 0;
00073 
00079   virtual int writeMAD(ostream& ostrm) const =0;
00080 
00085    virtual TxLinePlotData* getTwissPlotVisitor() = 0;
00086 
00091   virtual TxLinePlotData* getMcTwissPlot() =0;
00092 
00097   virtual TxLinePlotData* getDispPlotVisitor() =0;
00098 
00099 
00100 protected:
00101 
00102 
00103 private:
00104  
00105 
00106 };
00107 
00108 #endif   // TX_ACCEL_IFC_H
Copyright Tech-X Corporation, all rights reserved.