113 G4cerr <<
"Illegal application state - Trace() ignored." <<
G4endl;
119 G4cerr <<
"Figure file maker class is not specified - Trace() ignored." <<
G4endl;
125 if(storeTrajectory==0) UI->
ApplyCommand(
"/tracking/storeTrajectory 1");
140 G4cerr <<
"You might set the eye position outside of the world volume" <<
G4endl; }
143 if(storeTrajectory==0) UI->
ApplyCommand(
"/tracking/storeTrajectory 0");
204 GetNavigatorForTracking()->GetWorldVolume();
209 for (std::size_t j=0; j < pVector->
size(); ++j) {
230 G4int iCoord = iRow * nColumn + iColumn;
233 G4double angleX = -(viewSpanX/2. - (iColumn+dColumn)*stepAngle);
234 G4double angleY = viewSpanY/2. - (iRow+dRow)*stepAngle;
238 rayDirection =
G4ThreeVector(-std::tan(angleX)/std::cos(angleY),std::tan(angleY)/std::cos(angleX),1.0);
242 rayDirection =
G4ThreeVector(-std::tan(angleX),std::tan(angleY),1.0);
253 G4bool interceptable =
true;
261 DistanceToIn(rayPosition,rayDirection);
267 rayPosition = rayPosition+(outsideDistance+0.001)*rayDirection;
270 interceptable =
false;
291 if(!succeeded)
return false;
310 if(!trajectory)
return false;
313 if(nPoint==0)
return false;
320 for(
G4int i=nPoint-2;i>=0;--i)
338 return G4Colour(red,green,blue,alpha);
351 if(!preVis&&!postVis)
return transparent;
366 (red*brill,green*brill,blue*brill,preAttColour.
GetAlpha());
369 { preCol = transparent; }
379 (red*brill,green*brill,blue*brill,postAttColour.
GetAlpha());
382 { postCol = transparent; }
384 if(!preVis)
return postCol;
385 if(!postVis)
return preCol;
397 if(!visible)
return sourceCol;
407 if(stepAlpha > 0.9999999){ stepAlpha = 0.9999999; }
408 attenuationFuctor = -stepAlpha/(1.0-stepAlpha)*stepLength/attenuationLength;
410 G4double KtRed = std::exp((1.0-stepRed)*attenuationFuctor);
411 G4double KtGreen = std::exp((1.0-stepGreen)*attenuationFuctor);
412 G4double KtBlue = std::exp((1.0-stepBlue)*attenuationFuctor);
413 if(KtRed>1.0){KtRed=1.0;}
414 if(KtGreen>1.0){KtGreen=1.0;}
415 if(KtBlue>1.0){KtBlue=1.0;}