MeshKit  1.0
pincell.hpp
Go to the documentation of this file.
00001 /*********************************************
00002 Dec,09
00003 Reactor Geometry Generator
00004 Argonne National Laboratory
00005 
00006 CPincell class definition.
00007 *********************************************/
00008 #ifndef __RGG_PINCELL_H__
00009 #define __RGG_PINCELL_H__
00010 #include <iostream>
00011 #include "meshkit/vectortemplate.hpp"
00012 #include "cylinder.hpp"
00013 
00014 class CPincell
00015 {
00016 public:
00017   CPincell ();             // ctor
00018   CPincell (const CPincell&); // copy ctor
00019   ~CPincell ();            // dtor
00020 
00021   // accessor functions
00022   void GetNumCyl(int &nCyl);
00023   void GetLineOne (std::string &szVolId, std::string &szVolAlias, int &nInputLines);
00024   void GetIntersectFlag(int &nIFlag);
00025   void GetPitch (double &dFlatF, double &dZL);
00026   void GetPitch (double &dPX, double &dPY, double &dPZ);
00027   void GetMatArray(int &nMaterials);
00028   void GetMat(CVector<std::string> &szVMatName, CVector<std::string> &szVMatAlias);
00029   void GetNumCyl(const int &nCyl);
00030   void GetCylSizes(int &nCyl,int &nRadii);
00031   void GetCylRadii(int &nCyl, CVector<double>&);
00032   void GetCylZPos(int &nCyl, CVector<double>&);
00033   void GetCylPos(int &nCyl, CVector<double>&);
00034   void GetCylMat(int &nCyl, CVector<std::string>&);
00035   void GetCellMatSize(int &nSize);
00036   void GetCellMat(CVector<double> &dZStart, CVector<double> &dZEnd, CVector<std::string> &szVCellMat);
00037 
00038 
00039   // modifier functions
00040 
00041   void SetLineOne (std::string szVolId, std::string szVolAlias, int nInputLines);
00042   void SetIntersectFlag(int nIFlag);
00043   void SetPitch (double dFlatF, double dZL);
00044   void SetPitch (double dPX, double dPY, double dPZ);
00045   void SetMatArray(int nMaterials);
00046   void SetMat(CVector<std::string> szVMatName, CVector<std::string> szVMatAlias);
00047   // cylinder
00048   void SetNumCyl(const int nCyl);
00049   void SetCylSizes(int nCyl,int nRadii);
00050   void SetCylZPos(int nCyl, CVector<double>);
00051   void SetCylRadii(int nCyl, CVector<double>);
00052   void SetCylPos(int nCyl, CVector<double>);
00053   void SetCylMat(int nCyl, CVector<std::string>);
00054   //cell
00055   void SetCellMatSize(int nSize);
00056   void SetCellMat(CVector<double> dZStart, CVector<double> dZEnd, CVector<std::string> szVCellMat);
00057 
00058 
00059 private:
00060 
00061   // pin related input
00062   //line one
00063   std::string m_szVolId, m_szVolAlias;
00064   int m_nInputLines, m_nIFlag;
00065   // pitch
00066   double m_dPX; double m_dPY; double m_dPZ;
00067   double m_dFlatF; double m_dZL;
00068   // material
00069   int m_nMaterials;
00070   CVector<std::string> m_szVMatName, m_szVMatAlias;
00071   //cylinder
00072   CVector<CCylinder> m_VCyl;
00073   int m_nNumCyl;
00074   //cellmaterial
00075   CVector<double>               m_dVZStart;
00076   CVector<double> m_dVZEnd;
00077   CVector<std::string> m_szVCellMat;
00078 };
00079 
00080 #endif  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines