00001 00002 #include "CCAENV830Creator.h" 00003 #include "CCAENV830Module.h" 00004 #include <TCLInterpreter.h> 00005 #include <TCLResult.h> 00006 00007 #include <assert.h> 00013 CCAENV830Creator::CCAENV830Creator () 00014 : CModuleCreator(string("caenv830")) 00015 { 00016 } 00020 CCAENV830Creator::~CCAENV830Creator ( ) 00021 { 00022 } 00028 CCAENV830Creator::CCAENV830Creator (const CCAENV830Creator& rhs ) 00029 : CModuleCreator (rhs) 00030 { 00031 } 00032 00041 CCAENV830Creator& 00042 CCAENV830Creator::operator= (const CCAENV830Creator& rhs) 00043 { 00044 if(this != &rhs) { 00045 CModuleCreator::operator=(rhs); 00046 } 00047 return *this; 00048 } 00057 int 00058 CCAENV830Creator::operator== (const CCAENV830Creator& rhs) const 00059 { 00060 return (CModuleCreator::operator==(rhs)); 00061 } 00062 00063 // Functions for class CCAENV830Creator 00064 00109 CDigitizerModule* 00110 CCAENV830Creator::Create(CTCLInterpreter& rInterp, CTCLResult& rResult, 00111 int nArgs, char** pArgs) 00112 { 00113 assert(nArgs >= 2); // Need to have enough parameters. 00114 string sName(*pArgs); 00115 nArgs--; pArgs++; 00116 00117 assert(*pArgs == getModuleType()); 00118 nArgs--; 00119 pArgs++; 00120 00121 CDigitizerModule* pModule = new CCAENV830Module(sName, rInterp); 00122 pModule->Configure(rInterp, rResult, nArgs, pArgs); 00123 00124 return pModule; 00125 00126 } 00127 00135 string 00136 CCAENV830Creator::Help() 00137 { 00138 return string("Creates a CAEN 830 32 channel scaler."); 00139 }