00001 #ifdef CH_LANG_CC 00002 /* 00003 * _______ __ 00004 * / ___/ / ___ __ _ / / ___ 00005 * / /__/ _ \/ _ \/ V \/ _ \/ _ \ 00006 * \___/_//_/\___/_/_/_/_.__/\___/ 00007 * Please refer to Copyright.txt, in Chombo's root directory. 00008 */ 00009 #endif 00010 00011 // ANAG, LBNL 00012 00013 #ifndef _EBCELLFACTORY_H_ 00014 #define _EBCELLFACTORY_H_ 00015 00016 #include <cmath> 00017 #include <cstdlib> 00018 #include "Vector.H" 00019 #include "EBISLayout.H" 00020 #include "EBCellFAB.H" 00021 #include "DataIndex.H" 00022 #include "NamespaceHeader.H" 00023 00025 00029 class EBCellFactory 00030 : public DataFactory<EBCellFAB> 00031 { 00032 public: 00034 00039 virtual EBCellFAB* create(const Box& a_box, int a_ncomps, 00040 const DataIndex& a_dit) const; 00041 00043 00046 EBCellFactory(const EBISLayout& a_ebisl); 00047 00049 virtual ~EBCellFactory(); 00050 00051 private: 00052 EBISLayout m_ebisl; 00053 00054 //disallowed constructors and all that 00055 EBCellFactory(const EBCellFactory& a_inputs) 00056 { 00057 MayDay::Error("disallowed constructor"); 00058 } 00059 EBCellFactory() 00060 { 00061 MayDay::Error("disallowed constructor"); 00062 } 00063 void operator=(const EBCellFactory& a_inputs) 00064 { 00065 MayDay::Error("disallowed constructor"); 00066 } 00067 00068 }; 00069 00070 #include "NamespaceFooter.H" 00071 #endif