fixed assign problems probably
This commit is contained in:
+15
-1
@@ -1,10 +1,24 @@
|
||||
|
||||
from G4Calo import GeometryDescriptor, G4System
|
||||
import sys
|
||||
|
||||
cw = GeometryDescriptor()
|
||||
|
||||
|
||||
for _ in range(25):
|
||||
cw.addLayer(0.5, "G4Pb", False)
|
||||
cw.addLayer(0.5, "G4_Pb", False)
|
||||
cw.addLayer(1.,"G4_POLYSTYRENE",True,1)
|
||||
|
||||
#directly use G4System as a global singleton
|
||||
G4System.init(cw)
|
||||
|
||||
|
||||
df = G4System.run_batch(10, 'gamma', 1)
|
||||
cw = GeometryDescriptor()
|
||||
|
||||
for _ in range(5):
|
||||
cw.addLayer(0.5, "G4_Pb", False)
|
||||
cw.addLayer(1.,"G4_POLYSTYRENE",True,1)
|
||||
|
||||
G4System.init(cw)
|
||||
df = G4System.run_batch(10, 'gamma', 1)
|
||||
@@ -134,6 +134,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
bool isEmpty()const{
|
||||
return layers.size() == 0;
|
||||
}
|
||||
|
||||
void setG4System(G4System* g4system){
|
||||
this->g4system = g4system;
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@ void G4System::init(GeometryDescriptor &CW){
|
||||
if(CW.isAssigned()){
|
||||
throw std::runtime_error("GeometryDescriptor already assigned");
|
||||
}
|
||||
if(CW.isEmpty()){
|
||||
throw std::runtime_error("GeometryDescriptor is empty");
|
||||
}
|
||||
if(assigned_cw != nullptr){
|
||||
//reassign
|
||||
assigned_cw->unAssign();
|
||||
|
||||
Reference in New Issue
Block a user