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 "meshkit/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 GetCellType(int nCyl, int &nType);
00033   void GetCylZPos(int nCyl, CVector<double>&);
00034   void GetCylPos(int nCyl, CVector<double>&);
00035   void GetCylMat(int nCyl, CVector<std::string>&);
00036   void GetCellMatSize(int &nSize);
00037   void GetCellMat(CVector<double> &dZStart, CVector<double> &dZEnd, CVector<std::string> &szVCellMat);
00038 
00039 
00040   // modifier functions
00041 
00042   void SetLineOne (std::string szVolId, std::string szVolAlias, int nInputLines);
00043   void SetIntersectFlag(int nIFlag);
00044   void SetPitch (double dFlatF, double dZL);
00045   void SetPitch (double dPX, double dPY, double dPZ);
00046   void SetMatArray(int nMaterials);
00047   void SetMat(CVector<std::string> szVMatName, CVector<std::string> szVMatAlias);
00048   // cylinder
00049   void SetNumCyl(const int nCyl);
00050   void SetCylSizes(int nCyl,int nRadii);
00051   void SetCylZPos(int nCyl, CVector<double>);
00052   void SetCylRadii(int nCyl, CVector<double>);
00053   void SetCellType(int nCyl, int nType);
00054   void SetCylPos(int nCyl, CVector<double>);
00055   void SetCylMat(int nCyl, CVector<std::string>);
00056   //cell
00057   void SetCellMatSize(int nSize);
00058   void SetCellMat(CVector<double> dZStart, CVector<double> dZEnd, CVector<std::string> szVCellMat);
00059 
00060 
00061 private:
00062 
00063   // pin related input
00064   //line one
00065   std::string m_szVolId, m_szVolAlias;
00066   int m_nInputLines, m_nIFlag;
00067   // pitch
00068   double m_dPX; double m_dPY; double m_dPZ;
00069   double m_dFlatF; double m_dZL;
00070   // material
00071   int m_nMaterials;
00072   CVector<std::string> m_szVMatName, m_szVMatAlias;
00073   //cylinder
00074   CVector<CCylinder> m_VCyl;
00075   int m_nNumCyl;
00076   //cellmaterial
00077   CVector<double>               m_dVZStart;
00078   CVector<double> m_dVZEnd;
00079   CVector<std::string> m_szVCellMat;
00080 };
00081 
00082 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines