243{
245
247
248
249
250
252 if(!mesh)
253 {
254 ed << "ERROR : No mesh is currently open. Open/create a mesh first. Command ignored.";
256 return;
257 }
258
260
263
264
265 if(command==qTouchCmd) {
267 } else if(command == qGetUnitCmd ){
269 } else if(command == qSetUnitCmd ){
271 } else if(command== qCellChgCmd) {
274 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
276 else
280 }
281 } else if(command== qCellFluxCmd) {
284 if( shape==MeshShape::box ) {
286 } else if( shape==MeshShape::cylinder ) {
293 ps = pps;
294 } else if(shape==MeshShape::realWorldLogVol) {
295 ed<<"Cell flux for real world volume is not yet supported. Command ignored.";
297 return;
298 } else if(shape==MeshShape::probe) {
300 }
303 }
304 } else if(command== qPassCellFluxCmd) {
307 if( shape==MeshShape::box ) {
309 } else if( shape==MeshShape::cylinder ) {
316 ps = pps;
317 } else if(shape==MeshShape::realWorldLogVol) {
318 ed<<"Passing cell flux for real world volume is not yet supported. Command ignored.";
320 return;
321 } else if(shape==MeshShape::probe) {
323 }
326 }
327 } else if(command==qeDepCmd) {
330 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
332 else
336 }
337 } else if(command== qdoseDepCmd) {
340 if( shape==MeshShape::box ) {
342 } else if( shape==MeshShape::cylinder ) {
350 ps = pps;
351 } else if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe) {
353 }
356 }
357 } else if(command== qnOfStepCmd) {
360 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
362 else
366 }
367 } else if(command== qnOfSecondaryCmd) {
370 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
372 else
375 }
376 } else if(command== qTrackLengthCmd) {
379 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
381 else
388 }
389 } else if(command== qPassCellCurrCmd){
392 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
394 else
398 }
399 } else if(command== qPassTrackLengthCmd){
402 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
404 else
409 }
410 } else if(command== qFlatSurfCurrCmd){
413 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
415 else
419 if (
StoB(token[3]) ){
421 }else{
423 }
425 }
426 } else if(command== qFlatSurfFluxCmd){
429 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
431 else
435 if (
StoB(token[3]) ){
437 }else{
439 }
441 }
442 } else if(command== qVolFluxCmd) {
445 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
447 else
451 }
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504 } else if(command== qNofCollisionCmd){
507 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
509 else
513 }
514 } else if(command== qPopulationCmd){
517 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
519 else
523 }
524 } else if(command== qTrackCountCmd){
527 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
529 else
533 }
534 } else if(command== qTerminationCmd){
537 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
539 else
543 }
544
545 } else if(command== qMinKinEAtGeneCmd){
548 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
550 else
554 }
555 } else if(command== qStepCheckerCmd){
558 if(shape==MeshShape::realWorldLogVol || shape==MeshShape::probe)
560 else
563 }
564
565
566
567
568 }else if(command== fchargedCmd){
571 } else {
573 << "] : Current quantity is not set. Set or touch a quantity first.";
575 }
576 }else if(command== fneutralCmd){
579 } else {
581 << "] : Current quantity is not set. Set or touch a quantity first.";
583 }
584 }else if(command== fkinECmd){
591 } else {
593 << "] : Current quantity is not set. Set or touch a quantity first.";
595 }
596 }else if(command== fparticleKinECmd){
599 } else {
601 << "] : Current quantity is not set. Set or touch a quantity first.";
603 }
604 } else if(command==fparticleCmd) {
607 } else {
609 << "] : Current quantity is not set. Set or touch a quantity first.";
611 }
612 }
613}
std::vector< G4String > G4TokenVec
G4GLOB_DLL std::ostream G4cout
virtual void SetUnit(const G4String &unit)
void SetNumberOfSegments(G4int nSeg[3])
void SetCylinderSize(G4double dr, G4double dz)
virtual void SetUnit(const G4String &unit)
void SetCylinderSize(G4double dr, G4double dz)
void SetNumberOfSegments(G4int nSeg[3])
virtual void SetUnit(const G4String &unit)
virtual void SetUnit(const G4String &unit)
void DivideByArea(G4bool flg=true)
void Weighted(G4bool flg=true)
virtual void SetUnit(const G4String &unit)
void Weighted(G4bool flg=true)
void DivideByArea(G4bool flg=true)
virtual void SetUnit(const G4String &unit)
virtual void SetUnit(const G4String &unit)
void Weighted(G4bool flg=true)
void SetBoundaryFlag(G4bool flg=true)
void Weighted(G4bool flg=true)
void SetCylinderSize(G4double dr, G4double dz)
void SetNumberOfSegments(G4int nSeg[3])
virtual void SetUnit(const G4String &unit)
virtual void SetUnit(const G4String &unit)
void Weighted(G4bool flg=true)
void Weighted(G4bool flg=true)
void Weighted(G4bool flg=true)
void Weighted(G4bool flg=true)
virtual void SetUnit(const G4String &unit)
void MultiplyKineticEnergy(G4bool flg=true)
void Weighted(G4bool flg=true)
void DivideByVelocity(G4bool flg=true)
void SetDivCos(G4bool val)
void FParticleWithEnergyCommand(G4VScoringMesh *mesh, G4TokenVec &token)
G4bool CheckMeshPS(G4VScoringMesh *mesh, G4String &psname, G4UIcommand *command)
void FillTokenVec(G4String newValues, G4TokenVec &token)
void FParticleCommand(G4VScoringMesh *mesh, G4TokenVec &token)
G4VScoringMesh * GetCurrentMesh() const
G4ThreeVector GetSize() const
MeshShape GetShape() const
void GetNumberOfSegments(G4int nSegment[3])
G4int GetCopyNumberLevel() const
void SetCurrentPSUnit(const G4String &unit)
void SetCurrentPrimitiveScorer(const G4String &name)
void SetPrimitiveScorer(G4VPrimitiveScorer *ps)
G4String GetCurrentPSUnit()
G4bool IsCurrentPrimitiveScorerNull()