55 if (phantomName==
"fullWater")
59 else if (phantomName==
"boxInBox")
76 bool CML2PhantomConstruction::design(
void)
79 bool bPhanExists=
false;
81 std::cout <<
"I'm building "<< phantomName<<
" phantom"<<
G4endl;
83 if (phantomName==
"fullWater")
88 else if (phantomName==
"boxInBox")
100 if (phantomName==
"fullWater")
102 else if (phantomName==
"boxInBox")
108 G4int saving_in_ROG_Voxels_every_events,
G4int seed,
119 G4Box *phmWorldB =
new G4Box(
"phmWorldG", halfPhantomInsideSize.
getX(), halfPhantomInsideSize.
getY(), halfPhantomInsideSize.
getZ());
124 phmWorldLV->SetVisAttributes(simpleAlSVisAtt);
130 if (phantomName==
"fullWater")
132 Ph_fullWater->
Construct(PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG);
137 else if (phantomName==
"boxInBox")
139 Ph_BoxInBox->
Construct(PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG);
154 void CML2PhantomConstruction::createPhysicalVolumeNamesList(
G4String *matNames,
G4int nMatNames)
157 for (
int i=0;i< nMatNames; i++)
161 volumeNameIdLink.push_back(svnid);
164 void CML2PhantomConstruction::createPhysicalVolumeNamesList(
G4VPhysicalVolume *PV)
172 for (
int i=0; i <nLVD1; i++)
179 volumeNameIdLink.push_back(svnid);
187 volumeNameIdLink.push_back(svnid);
193 if (idCurrentCentre <(
int) centre.size())
195 currentCentre=centre[idCurrentCentre];
205 {std::cout <<
"Actual centre: "<<idCurrentCentre<<
"/"<<centre.size() <<
" "<<
G4endl;}
206 std::cout <<
"Phantom and its ROG centre: " << currentCentre<<
G4endl;
227 sprintf(cT,
"%d",cTI);
228 translationName=
"_TrX"+
G4String(cT)+
"_";
230 sprintf(cT,
"%d",cTI);
231 translationName+=
"Y"+
G4String(cT)+
"_";
233 sprintf(cT,
"%d",cTI);
235 return translationName;