⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boundg.h

📁 pic 模拟程序!面向对象
💻 H
字号:
//boundg.h#ifndef   __BOUNDG_H#define   __BOUNDG_H#include <oops.h>#include "part1g.h"#include "gridg.h"#include "segmentg.h"//#ifndef UNIX//#include "segment.h"//#endifclass SpatialRegionGroup;class PDistCol;class Grid;//=================== BoundaryParams Class// base class for all boundaries// abstractclass BoundaryParams : public ParameterGroup{protected: GridParams* GP; SpatialRegionGroup* spatialRegionGroup; Boundary* bPtr; SegmentParams SP; public: IntParameter j1; IntParameter k1; IntParameter j2; IntParameter k2; IntParameter normal; IntParameter fill; IntParameter EFFlag; IntParameter IdiagFlag; IntParameter Ihist_len; // length of the history arrays IntParameter Ihist_avg; // n steps for taking an average ScalarParameter A1,A2,B1,B2; StringParameter Name; /*  the id name of this boundary *///These parameters have to do with gathering statistics on// collected particles, and are all optional. IntParameter nxbins; //number of bins in space IntParameter nenergybins; //number of bins in velocity IntParameter nthetabins; ScalarParameter theta_min; // lower value to collect f(theta) ScalarParameter theta_max; ScalarParameter energy_min; ScalarParameter energy_max;// ScalarParameter v1start,v2start,v3start;// ScalarParameter v1end,v2end,v3end; ScalarParameter spotSize_p0; ScalarParameter spotSize_p1; ScalarParameter waveLeng_p0; ScalarParameter waveLeng_p1; ScalarParameter focus_p0; ScalarParameter focus_p1; ScalarParameter amp_p0; ScalarParameter amp_p1; ScalarParameter tdelay_p0 ; ScalarParameter tdelay_p1 ; ScalarParameter pulLeng_p0; ScalarParameter pulLeng_p1; ScalarParameter chirp_p0; ScalarParameter chirp_p1; IntParameter pulShp_p0; IntParameter pulShp_p1; StringParameter F; BOOL HasLength();//These parameters have to do with any time functions on the boundaries,//such as varying potential, or current, or whatever; ScalarParameter C,A,frequency,phase,trise,tfall,tpulse,tdelay,a0,a1; IntParameter xtFlag; BoundaryParams(GridParams* _GP, SpatialRegionGroup* srg); //  since boundaries are all placed on grid, this class needs	// to know the dimensions of the grid	  virtual ~BoundaryParams();	  ostring AlignmentConstraint();	  // ensures that boundary is aligned with grid	  ostring OnGridConstraint();	  // ensures that boundary is on grid	  virtual void checkRules();	  // checks all rules associated with the class	  virtual Boundary* CreateCounterPart(){return 0;};	  virtual void toGrid(Grid *g) throw(Oops);     virtual void makeSegmentFitGrid(LineSegment *segment,Grid *g); 	  virtual void setBoundaryParams(Boundary* bPtr);	  PDistCol* createDistributionCollector();};                                       #endif  //  __BOUNDG_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -