00001 #include <iostream> 00002 00003 using namespace std; 00004 #include "database/MJDatabaseClover4x50x80DetCalib.hh" 00005 #include "materials/MJMaterialElement.hh" 00006 #include "database/MJDatabase.hh" 00007 #include "database/MJDatabaseMaterial.hh" 00008 #include "database/MJDatabaseMEGACrystal.hh" 00009 #include "database/MJDatabaseSEGACrystal.hh" 00010 #include "database/MJDatabaseElement.hh" 00011 #include "database/MJDatabaseCloverCrystal.hh" 00012 #include "database/MJDatabaseCloverDetector.hh" 00013 #include "database/MJDatabaseIsotope.hh" 00014 #include "database/MJDatabaseSimple800g.hh" 00015 #include "materials/MJMaterial.hh" 00016 #include "io/MJLogger.hh" 00017 // Geant4 package includes 00018 //#include "G4RunManager.hh" 00019 //#include "G4UImanager.hh" 00020 //#include "G4UIterminal.hh" 00021 //#include "G4UItcsh.hh" 00022 //#include "G4Material.hh" 00023 #include "G4Box.hh" 00024 #include "globals.hh" 00025 00026 void g4test(); 00027 int main(){ 00028 00029 MJDatabaseCloverCrystal* mjclover = MJDatabase::GetCloverCrystal("73771"); 00030 // mjclover->print(cout); 00031 00032 MJLog(trace) << *mjclover; // << endlog; 00033 00034 00035 MJDatabaseElement* mjele1 = MJDatabase::GetElement("Cadmium"); 00036 MJDatabaseElement* mjele2 = MJDatabase::GetElement("Mercury"); 00037 MJLog(trace) << *mjele1; 00038 MJLog(trace) << *mjele2; 00039 00040 MJDatabaseMaterial* mat1 = MJDatabase::GetMaterial("Delrin"); 00041 MJLog(trace) << *mat1; 00042 00043 // MJMaterialElement* ele = new MJMaterialElement("Carbon"); 00044 //MJLog(trace) << *ele; 00045 00046 00047 //MJMaterial* mat2 = new MJMaterial("Delrin"); 00048 //MJLog(trace) << *mat2; 00049 00050 MJDatabaseCloverDetector * det = MJDatabase::GetCloverDetector("LANL1"); 00051 MJLog(trace) << *det; 00052 00053 MJDatabaseIsotope* iso = MJDatabase::GetIsotope("Boron11"); 00054 MJLog(trace) << *iso; 00055 00056 MJDatabaseSimple800g* simple = MJDatabase::GetSimple800g("01"); 00057 MJLog(trace) << *simple; 00058 00059 vector<MJDatabaseMaterial> matVec = MJDatabase::GetAllMaterials(); 00060 vector<MJDatabaseMaterial>::iterator iter; 00061 MJLog(trace) << "------ Printing all materials --------------" << endlog; 00062 for(iter = matVec.begin(); iter != matVec.end(); iter++) 00063 { 00064 MJLog(trace) << *iter; 00065 } 00066 00067 vector<string> nameVec = MJDatabase::GetMaterialNames(); 00068 vector<string>::iterator stit; 00069 MJLog(trace) << "------ Printing all material names --------------" << endlog; 00070 for(stit = nameVec.begin(); stit != nameVec.end(); stit++) 00071 { 00072 MJLog(trace) << *stit << " "<<endlog;; 00073 00074 MJDatabaseMaterial* matt = MJDatabase::GetMaterial(*stit); 00075 MJLog(trace) << *matt; 00076 } 00077 00078 00079 /* 00080 MJDatabaseClover4x50x80DetCalib* calib1 = 00081 MJDatabase::GetClover4x50x80Calib("LANL1", "-infinity", "infinity"); 00082 MJLog(trace) << *calib1; 00083 MJDatabaseClover4x50x80DetCalib* calib2 = 00084 MJDatabase::GetClover4x50x80Calib("LANL1", "Jan-1-2004"); 00085 MJLog(trace) << *calib2; 00086 MJLog(trace) << " E1(A):"<< calib2->GetE1().GetA()<<endlog; 00087 MJLog(trace) << " E1(B):"<< calib2->GetE1().GetB()<<endlog; 00088 MJLog(trace) << " E1(C):"<< calib2->GetE1().GetC()<<endlog; 00089 00090 MJLog(trace) << " E2(A):"<< calib2->GetE2().GetA()<<endlog; 00091 MJLog(trace) << " E2(B):"<< calib2->GetE2().GetB()<<endlog; 00092 MJLog(trace) << " E2(C):"<< calib2->GetE2().GetC()<<endlog; 00093 00094 MJLog(trace) << " E3(A):"<< calib2->GetE3().GetA()<<endlog; 00095 MJLog(trace) << " E3(B):"<< calib2->GetE3().GetB()<<endlog; 00096 MJLog(trace) << " E3(C):"<< calib2->GetE3().GetC()<<endlog; 00097 MJLog(trace) << " Pr(A):"<< calib2->GetPr().GetA()<<endlog; 00098 MJLog(trace) << " Pr(B):"<< calib2->GetPr().GetB()<<endlog; 00099 MJLog(trace) << " Pr(C):"<< calib2->GetPr().GetC()<<endlog; 00100 MJLog(trace) << " energies:"<< (calib2->GetE2().GetEnergy())[0]<<endlog; 00101 MJLog(trace) << " energies:"<< (calib2->GetE2().GetEnergy())[1]<<endlog; 00102 00103 MJDatabaseClover4x50x80DetCalib* calib3 = 00104 MJDatabase::GetClover4x50x80Calib("LANL1"); 00105 MJLog(trace) << *calib3; 00106 */ 00107 return 0; 00108 } 00109 void g4test(){ 00110 G4double worldSizeX = 4.*m; 00111 G4double worldSizeYZ = 4.*m; 00112 G4Box* solidWorld = new G4Box( "World", worldSizeX/2, worldSizeYZ/2, worldSizeYZ/2 ); 00113 00114 }