00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00022 // 00023 // $Id: MJDatabase.cc,v 1.2 2004/11/09 13:42:39 xliu Exp $ 00024 // 00025 // CLASS IMPLEMENTATION: MJDatabase.cc 00026 // 00027 //---------------------------------------------------------------------------// 00033 // 00034 //---------------------------------------------------------------------------// 00044 //---------------------------------------------------------------------------// 00045 // 00046 00047 00048 //---------------------------------------------------------------------------// 00049 00050 #include "database/MJDatabase.hh" //Present MJ Class Headers 00051 00052 #include "database/MJDatabasePsqlImpl.hh" 00053 //---------------------------------------------------------------------------// 00054 00055 MJDatabase::MJDatabase() 00056 { 00057 00058 } 00059 MJDatabase::~MJDatabase() 00060 { 00061 } 00062 MJDatabaseMEGACrystal* 00063 MJDatabase::GetMegaCrystal(string name) 00064 { 00065 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00066 return ps->MJDatabaseMegaPsqlImpl(name); 00067 } 00068 MJDatabaseMEGACrystal* 00069 MJDatabase::GetMegaCrystal(int id) 00070 { 00071 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00072 return ps->MJDatabaseMegaPsqlImpl(id); 00073 } 00074 MJDatabaseSEGACrystal* 00075 MJDatabase::GetSegaCrystal(string name) 00076 { 00077 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00078 return ps->MJDatabaseSegaPsqlImpl(name); 00079 } 00080 MJDatabaseSEGACrystal* 00081 MJDatabase:: GetSegaCrystal(int id) 00082 { 00083 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00084 return ps->MJDatabaseSegaPsqlImpl(id); 00085 } 00086 MJDatabaseCloverCrystal* 00087 MJDatabase:: GetCloverCrystal(string name) 00088 { 00089 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00090 return ps->MJDatabaseCloverPsqlImpl(name); 00091 } 00092 MJDatabaseCloverCrystal* 00093 MJDatabase:: GetCloverCrystal(int id) 00094 { 00095 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00096 return ps->MJDatabaseCloverPsqlImpl(id); 00097 } 00098 MJDatabaseCloverDetector* 00099 MJDatabase:: GetCloverDetector(string name) 00100 { 00101 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00102 return ps->MJDatabaseCloverDetectorPsqlImpl(name); 00103 } 00104 MJDatabaseCloverDetector* 00105 MJDatabase:: GetCloverDetector(int id) 00106 { 00107 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00108 return ps->MJDatabaseCloverDetectorPsqlImpl(id); 00109 } 00110 MJDatabaseElement* 00111 MJDatabase::GetElement(string name) 00112 { 00113 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00114 return ps->MJDatabaseElementPsqlImpl(name); 00115 } 00116 MJDatabaseIsotope* 00117 MJDatabase::GetIsotope(string name) 00118 { 00119 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00120 return ps->MJDatabaseIsotopePsqlImpl(name); 00121 } 00122 MJDatabaseMaterial* 00123 MJDatabase::GetMaterial(string name) 00124 { 00125 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00126 return ps->MJDatabaseMaterialPsqlImpl(name); 00127 } 00128 MJDatabaseSimple800g* 00129 MJDatabase::GetSimple800g(string name) 00130 { 00131 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00132 return ps->MJDatabaseSimple800gPsqlImpl(name); 00133 } 00134 MJDatabaseClover4x50x80DetCalib* 00135 MJDatabase::GetClover4x50x80Calib(string name, string beginT, string endT) 00136 { 00137 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00138 return ps->MJDatabaseClover4x50x80CalibPsqlImpl(name, beginT, endT); 00139 00140 } 00141 00142 vector<MJDatabaseMaterial> 00143 MJDatabase::GetAllMaterials() 00144 { 00145 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00146 return ps->MJDatabaseAllMaterialsPsqlImpl(); 00147 } 00148 vector<string> 00149 MJDatabase::GetMaterialNames() 00150 { 00151 MJDatabasePsqlImpl* ps = new MJDatabasePsqlImpl(); 00152 return ps->MJDatabaseMaterialNamesPsqlImpl(); 00153 }