Changeset 1340 for trunk/source/digits_hits/scorer/src
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (15 years ago)
- Location:
- trunk/source/digits_hits/scorer/src
- Files:
-
- 40 edited
-
CVS/Entries (modified) (1 diff)
-
G4PSCellCharge.cc (modified) (4 diffs)
-
G4PSCellCharge3D.cc (modified) (3 diffs)
-
G4PSCellFlux.cc (modified) (4 diffs)
-
G4PSCellFlux3D.cc (modified) (3 diffs)
-
G4PSCylinderSurfaceCurrent.cc (modified) (7 diffs)
-
G4PSCylinderSurfaceCurrent3D.cc (modified) (3 diffs)
-
G4PSCylinderSurfaceFlux.cc (modified) (5 diffs)
-
G4PSCylinderSurfaceFlux3D.cc (modified) (3 diffs)
-
G4PSDoseDeposit.cc (modified) (6 diffs)
-
G4PSDoseDeposit3D.cc (modified) (4 diffs)
-
G4PSEnergyDeposit.cc (modified) (3 diffs)
-
G4PSEnergyDeposit3D.cc (modified) (3 diffs)
-
G4PSFlatSurfaceCurrent.cc (modified) (5 diffs)
-
G4PSFlatSurfaceCurrent3D.cc (modified) (3 diffs)
-
G4PSFlatSurfaceFlux.cc (modified) (5 diffs)
-
G4PSFlatSurfaceFlux3D.cc (modified) (3 diffs)
-
G4PSMinKinEAtGeneration.cc (modified) (3 diffs)
-
G4PSMinKinEAtGeneration3D.cc (modified) (3 diffs)
-
G4PSNofCollision.cc (modified) (4 diffs)
-
G4PSNofSecondary.cc (modified) (4 diffs)
-
G4PSNofStep.cc (modified) (3 diffs)
-
G4PSNofStep3D.cc (modified) (1 diff)
-
G4PSPassageCellCurrent.cc (modified) (4 diffs)
-
G4PSPassageCellCurrent3D.cc (modified) (2 diffs)
-
G4PSPassageCellFlux.cc (modified) (4 diffs)
-
G4PSPassageCellFlux3D.cc (modified) (2 diffs)
-
G4PSPassageTrackLength.cc (modified) (4 diffs)
-
G4PSPassageTrackLength3D.cc (modified) (3 diffs)
-
G4PSPopulation.cc (modified) (4 diffs)
-
G4PSSphereSurfaceCurrent.cc (modified) (5 diffs)
-
G4PSSphereSurfaceCurrent3D.cc (modified) (3 diffs)
-
G4PSSphereSurfaceFlux.cc (modified) (6 diffs)
-
G4PSSphereSurfaceFlux3D.cc (modified) (3 diffs)
-
G4PSTermination.cc (modified) (4 diffs)
-
G4PSTrackCounter.cc (modified) (4 diffs)
-
G4PSTrackCounter3D.cc (modified) (1 diff)
-
G4PSTrackLength.cc (modified) (4 diffs)
-
G4PSTrackLength3D.cc (modified) (3 diffs)
-
G4SDParticleFilter.cc (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/digits_hits/scorer/src/CVS/Entries
r1337 r1340 1 /G4PS CellCharge.cc/1.1/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-012 /G4PS CellCharge3D.cc/1.3/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-013 /G4PS CellFlux.cc/1.2/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-014 /G4PS CellFlux3D.cc/1.3/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-015 /G4 PSCylinderSurfaceCurrent.cc/1.3/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-016 /G4 PSCylinderSurfaceCurrent3D.cc/1.3/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-017 /G4 PSCylinderSurfaceFlux.cc/1.4/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-018 /G4 PSCylinderSurfaceFlux3D.cc/1.3/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-019 /G4PS DoseDeposit.cc/1.2/Wed Sep 29 21:47:50 2010//Tgeant4-09-04-beta-0110 /G4PS DoseDeposit3D.cc/1.3/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0111 /G4PS EnergyDeposit.cc/1.1/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0112 /G4PS EnergyDeposit3D.cc/1.3/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0113 /G4PS FlatSurfaceCurrent.cc/1.3/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0114 /G4PS FlatSurfaceCurrent3D.cc/1.3/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0115 /G4PS FlatSurfaceFlux.cc/1.2/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0116 /G4PS FlatSurfaceFlux3D.cc/1.3/Wed Sep 29 21:48:00 2010//Tgeant4-09-04-beta-0117 /G4PS MinKinEAtGeneration.cc/1.1/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0118 /G4PS MinKinEAtGeneration3D.cc/1.3/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0119 /G4PS NofCollision.cc/1.1/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0120 /G4PS NofCollision3D.cc/1.3/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0121 /G4PS NofSecondary.cc/1.2/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0122 /G4PS NofSecondary3D.cc/1.3/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0123 /G4PS NofStep.cc/1.2/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0124 /G4PS NofStep3D.cc/1.3/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0125 /G4PS PassageCellCurrent.cc/1.1/Wed Sep 29 21:48:12 2010//Tgeant4-09-04-beta-0126 /G4PS PassageCellCurrent3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0127 /G4PS PassageCellFlux.cc/1.2/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0128 /G4PS PassageCellFlux3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0129 /G4PS PassageTrackLength.cc/1.1/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0130 /G4PS PassageTrackLength3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0131 /G4PSP opulation.cc/1.1/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0132 /G4PSP opulation3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0133 /G4PS SphereSurfaceCurrent.cc/1.4/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0134 /G4PS SphereSurfaceCurrent3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0135 /G4PS SphereSurfaceFlux.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0136 /G4PS SphereSurfaceFlux3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0137 /G4PS Termination.cc/1.2/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0138 /G4PS Termination3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0139 /G4PS TrackCounter.cc/1.1/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0140 /G4PS TrackCounter3D.cc/1.3/Wed Sep 29 21:48:14 2010//Tgeant4-09-04-beta-0141 /G4PS TrackLength.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0142 /G4PST rackLength3D.cc/1.3/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0143 /G4 SDChargedFilter.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0144 /G4 SDKineticEnergyFilter.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0145 /G4 SDNeutralFilter.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0146 /G4 SDParticleFilter.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-0147 /G4SDParticle WithEnergyFilter.cc/1.1/Wed Sep 29 21:48:17 2010//Tgeant4-09-04-beta-011 /G4PSNofCollision3D.cc/1.3/Wed Sep 29 21:48:12 2010// 2 /G4PSNofSecondary3D.cc/1.3/Wed Sep 29 21:48:12 2010// 3 /G4PSPopulation3D.cc/1.3/Wed Sep 29 21:48:14 2010// 4 /G4PSTermination3D.cc/1.3/Wed Sep 29 21:48:14 2010// 5 /G4SDChargedFilter.cc/1.1/Wed Sep 29 21:48:17 2010// 6 /G4SDKineticEnergyFilter.cc/1.1/Wed Sep 29 21:48:17 2010// 7 /G4SDNeutralFilter.cc/1.1/Wed Sep 29 21:48:17 2010// 8 /G4SDParticleWithEnergyFilter.cc/1.1/Wed Sep 29 21:48:17 2010// 9 /G4PSCellCharge.cc/1.2/Fri Nov 5 09:57:28 2010// 10 /G4PSCellCharge3D.cc/1.4/Fri Nov 5 09:57:28 2010// 11 /G4PSCellFlux.cc/1.4/Fri Nov 5 09:57:28 2010// 12 /G4PSCellFlux3D.cc/1.4/Fri Nov 5 09:57:28 2010// 13 /G4PSCylinderSurfaceCurrent.cc/1.5/Fri Nov 5 09:57:28 2010// 14 /G4PSCylinderSurfaceCurrent3D.cc/1.4/Fri Nov 5 09:57:28 2010// 15 /G4PSCylinderSurfaceFlux.cc/1.8/Fri Nov 5 09:57:28 2010// 16 /G4PSCylinderSurfaceFlux3D.cc/1.4/Fri Nov 5 09:57:28 2010// 17 /G4PSDoseDeposit.cc/1.5/Fri Nov 5 09:57:28 2010// 18 /G4PSDoseDeposit3D.cc/1.6/Fri Nov 5 09:57:28 2010// 19 /G4PSEnergyDeposit.cc/1.3/Fri Nov 5 09:57:28 2010// 20 /G4PSEnergyDeposit3D.cc/1.6/Fri Nov 5 09:57:28 2010// 21 /G4PSFlatSurfaceCurrent.cc/1.5/Fri Nov 5 09:57:28 2010// 22 /G4PSFlatSurfaceCurrent3D.cc/1.4/Fri Nov 5 09:57:28 2010// 23 /G4PSFlatSurfaceFlux.cc/1.6/Fri Nov 5 09:57:28 2010// 24 /G4PSFlatSurfaceFlux3D.cc/1.4/Fri Nov 5 09:57:28 2010// 25 /G4PSMinKinEAtGeneration.cc/1.2/Fri Nov 5 09:57:28 2010// 26 /G4PSMinKinEAtGeneration3D.cc/1.4/Fri Nov 5 09:57:28 2010// 27 /G4PSNofCollision.cc/1.3/Fri Nov 5 09:57:28 2010// 28 /G4PSNofSecondary.cc/1.5/Fri Nov 5 09:57:28 2010// 29 /G4PSNofStep.cc/1.4/Fri Nov 5 09:57:28 2010// 30 /G4PSNofStep3D.cc/1.4/Fri Nov 5 09:57:28 2010// 31 /G4PSPassageCellCurrent.cc/1.4/Fri Nov 5 09:57:28 2010// 32 /G4PSPassageCellCurrent3D.cc/1.4/Fri Nov 5 09:57:28 2010// 33 /G4PSPassageCellFlux.cc/1.4/Fri Nov 5 09:57:28 2010// 34 /G4PSPassageCellFlux3D.cc/1.4/Fri Nov 5 09:57:28 2010// 35 /G4PSPassageTrackLength.cc/1.2/Fri Nov 5 09:57:28 2010// 36 /G4PSPassageTrackLength3D.cc/1.4/Fri Nov 5 09:57:28 2010// 37 /G4PSPopulation.cc/1.3/Fri Nov 5 09:57:28 2010// 38 /G4PSSphereSurfaceCurrent.cc/1.6/Fri Nov 5 09:57:28 2010// 39 /G4PSSphereSurfaceCurrent3D.cc/1.4/Fri Nov 5 09:57:28 2010// 40 /G4PSSphereSurfaceFlux.cc/1.7/Fri Nov 5 09:57:28 2010// 41 /G4PSSphereSurfaceFlux3D.cc/1.4/Fri Nov 5 09:57:28 2010// 42 /G4PSTermination.cc/1.5/Fri Nov 5 09:57:28 2010// 43 /G4PSTrackCounter.cc/1.3/Fri Nov 5 09:57:28 2010// 44 /G4PSTrackCounter3D.cc/1.4/Fri Nov 5 09:57:28 2010// 45 /G4PSTrackLength.cc/1.2/Fri Nov 5 09:57:28 2010// 46 /G4PSTrackLength3D.cc/1.4/Fri Nov 5 09:57:28 2010// 47 /G4SDParticleFilter.cc/1.2/Fri Nov 5 09:57:28 2010// 48 48 D -
trunk/source/digits_hits/scorer/src/G4PSCellCharge.cc
r1337 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4PSCellCharge.cc,v 1. 1 2007/07/11 01:31:02 asaimExp $27 // GEANT4 tag $Name: geant4-09-04-beta-01$26 // $Id: G4PSCellCharge.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ 27 // GEANT4 tag $Name: $ 28 28 // 29 29 // G4PSCellCharge … … 38 38 // 39 39 // Created: 2006-08-20 Tsukasa ASO 40 // 2010-07-22 Introduce Unit specification. 40 41 // 41 42 /////////////////////////////////////////////////////////////////////////////// … … 43 44 G4PSCellCharge::G4PSCellCharge(G4String name, G4int depth) 44 45 :G4VPrimitiveScorer(name,depth),HCID(-1) 45 {;} 46 { 47 SetUnit("e+"); 48 } 49 50 G4PSCellCharge::G4PSCellCharge(G4String name, const G4String& unit, 51 G4int depth) 52 :G4VPrimitiveScorer(name,depth),HCID(-1) 53 { 54 SetUnit(unit); 55 } 46 56 47 57 G4PSCellCharge::~G4PSCellCharge() … … 99 109 for(; itr != EvtMap->GetMap()->end(); itr++) { 100 110 G4cout << " copy no.: " << itr->first 101 << " cell charge : " << *(itr->second) << " [e]" 111 << " cell charge : " << *(itr->second)/GetUnitValue() 112 << " [" << GetUnit() << "]" 102 113 << G4endl; 103 114 } 104 115 } 105 116 117 void G4PSCellCharge::SetUnit(const G4String& unit) 118 { 119 CheckAndSetUnit(unit,"Electric charge"); 120 } 121 122 -
trunk/source/digits_hits/scorer/src/G4PSCellCharge3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCellCharge3D.cc,v 1. 3 2007/08/29 06:36:41taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCellCharge3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCellCharge3D … … 40 40 // 41 41 // Created: 2007-08-14 Tsukasa ASO 42 // 2010-07-22 Introduce Unit specification. 42 43 // 43 44 /////////////////////////////////////////////////////////////////////////////// … … 54 55 } 55 56 57 G4PSCellCharge3D::G4PSCellCharge3D(G4String name,const G4String& unit, 58 G4int ni, G4int nj, G4int nk, 59 G4int depi, G4int depj, G4int depk) 60 :G4PSCellCharge(name), 61 fDepthi(depi),fDepthj(depj),fDepthk(depk) 62 { 63 fNi=ni; 64 fNj=nj; 65 fNk=nk; 66 SetUnit(unit); 67 } 68 56 69 G4PSCellCharge3D::~G4PSCellCharge3D() 57 70 {;} -
trunk/source/digits_hits/scorer/src/G4PSCellFlux.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCellFlux.cc,v 1. 2 2008/12/28 20:32:00 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCellFlux.cc,v 1.4 2010/07/22 23:42:01 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCellFlux … … 48 48 // 49 49 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 50 // 2010-07-22 Introduce Unit specification. 51 // 2010-07-22 Add weighted option 50 52 // 51 53 /////////////////////////////////////////////////////////////////////////////// 52 54 53 55 G4PSCellFlux::G4PSCellFlux(G4String name, G4int depth) 56 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(true) 57 { 58 DefineUnitAndCategory(); 59 SetUnit("percm2"); 60 } 61 62 G4PSCellFlux::G4PSCellFlux(G4String name, const G4String& unit, G4int depth) 54 63 :G4VPrimitiveScorer(name,depth),HCID(-1) 55 {;} 64 { 65 DefineUnitAndCategory(); 66 SetUnit(unit); 67 } 56 68 57 69 G4PSCellFlux::~G4PSCellFlux() … … 79 91 80 92 G4double CellFlux = stepLength / (solid->GetCubicVolume()); 81 CellFlux *= aStep->GetPreStepPoint()->GetWeight();93 if (weighted) CellFlux *= aStep->GetPreStepPoint()->GetWeight(); 82 94 G4int index = GetIndex(aStep); 83 95 EvtMap->add(index,CellFlux); … … 112 124 for(; itr != EvtMap->GetMap()->end(); itr++) { 113 125 G4cout << " copy no.: " << itr->first 114 << " cell flux : " << *(itr->second)*cm*cm << " [cm^-2]" 126 << " cell flux : " << *(itr->second)/GetUnitValue() 127 << " [" << GetUnit() << "]" 115 128 << G4endl; 116 129 } 117 130 } 118 131 132 void G4PSCellFlux::SetUnit(const G4String& unit) 133 { 134 CheckAndSetUnit(unit,"Per Unit Surface"); 135 } 136 137 void G4PSCellFlux::DefineUnitAndCategory(){ 138 // Per Unit Surface 139 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 140 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 141 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 142 } -
trunk/source/digits_hits/scorer/src/G4PSCellFlux3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCellFlux3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCellFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCellFlux3D … … 44 44 // 45 45 // Created: 2007-08-14 Tsukasa ASO 46 // 2010-07-22 Introduce Unit specification. 46 47 // 47 48 /////////////////////////////////////////////////////////////////////////////// … … 58 59 } 59 60 61 G4PSCellFlux3D::G4PSCellFlux3D(G4String name,const G4String& unit, 62 G4int ni, G4int nj, G4int nk, 63 G4int depi, G4int depj, G4int depk) 64 :G4PSCellFlux(name), 65 fDepthi(depi),fDepthj(depj),fDepthk(depk) 66 { 67 fNi=ni; 68 fNj=nj; 69 fNk=nk; 70 SetUnit(unit); 71 } 72 60 73 G4PSCellFlux3D::~G4PSCellFlux3D() 61 74 {;} -
trunk/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCylinderSurfaceCurrent.cc,v 1. 3 2009/11/14 00:01:13 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCylinderSurfaceCurrent.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCylinderSurfaceCurrent … … 49 49 // 50 50 // Created: 2007-03-21 Tsukasa ASO 51 // 2010-07-22 Introduce Unit specification. 51 52 // 52 53 /////////////////////////////////////////////////////////////////////////////// … … 57 58 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 58 59 weighted(true),divideByArea(true) 59 {;} 60 { 61 DefineUnitAndCategory(); 62 SetUnit("percm2"); 63 } 64 65 G4PSCylinderSurfaceCurrent::G4PSCylinderSurfaceCurrent(G4String name, 66 G4int direction, 67 const G4String& unit, 68 G4int depth) 69 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 70 weighted(true),divideByArea(true) 71 { 72 DefineUnitAndCategory(); 73 SetUnit(unit); 74 } 60 75 61 76 G4PSCylinderSurfaceCurrent::~G4PSCylinderSurfaceCurrent() … … 80 95 } 81 96 82 // if( solid->GetEntityType() != "G4Tubs" ){83 // G4Exception("G4PSCylinderSurfaceCurrentScorer. - Solid type is not supported.");84 // return FALSE;85 // }86 97 G4Tubs* tubsSolid = (G4Tubs*)(solid); 87 98 … … 122 133 theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos1); 123 134 if ( std::fabs(localpos1.z()) > tubsSolid->GetZHalfLength() ) return -1; 124 //if(std::fabs( localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y()125 // -(tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius()))126 // < kCarTolerance ){127 135 G4double localR2 = localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y(); 128 136 G4double InsideRadius = tubsSolid->GetInnerRadius(); … … 139 147 theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos2); 140 148 if ( std::fabs(localpos2.z()) > tubsSolid->GetZHalfLength() ) return -1; 141 //if(std::fabs( localpos2.x()*localpos2.x()+localpos2.y()*localpos2.y()142 // - (tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius()))143 // <kCarTolerance ){144 149 G4double localR2 = localpos2.x()*localpos2.x()+localpos2.y()*localpos2.y(); 145 150 G4double InsideRadius = tubsSolid->GetInnerRadius(); … … 179 184 G4cout << " copy no.: " << itr->first 180 185 << " current : " ; 181 if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2]"; 182 else G4cout << *(itr->second) << " [track]"; 186 if ( divideByArea ) { 187 G4cout << *(itr->second)/GetUnitValue() 188 << " ["<<GetUnit()<<"]"; 189 } else { 190 G4cout << *(itr->second) << " [tracks]"; 191 } 183 192 G4cout << G4endl; 184 193 } 185 194 } 186 195 196 void G4PSCylinderSurfaceCurrent::SetUnit(const G4String& unit) 197 { 198 if ( divideByArea ) { 199 CheckAndSetUnit(unit,"Per Unit Surface"); 200 } else { 201 if (unit == "" ){ 202 unitName = unit; 203 unitValue = 1.0; 204 }else{ 205 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 206 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 207 } 208 } 209 } 210 211 void G4PSCylinderSurfaceCurrent::DefineUnitAndCategory(){ 212 // Per Unit Surface 213 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 214 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 215 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 216 } 217 -
trunk/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCylinderSurfaceCurrent3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCylinderSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCylinderSurfaceCurrent3D … … 47 47 // 48 48 // Created: 2008-08-14 Tsukasa ASO 49 // 2010-07-22 Introduce Unit specification. 49 50 /////////////////////////////////////////////////////////////////////////////// 50 51 … … 61 62 } 62 63 64 G4PSCylinderSurfaceCurrent3D::G4PSCylinderSurfaceCurrent3D(G4String name, 65 G4int direction, 66 const G4String& unit, 67 G4int ni, G4int nj, G4int nk, 68 G4int di, G4int dj, G4int dk) 69 :G4PSCylinderSurfaceCurrent(name,direction), 70 fDepthi(di),fDepthj(dj),fDepthk(dk) 71 { 72 fNi=ni; 73 fNj=nj; 74 fNk=nk; 75 SetUnit(unit); 76 } 77 63 78 G4PSCylinderSurfaceCurrent3D::~G4PSCylinderSurfaceCurrent3D() 64 79 {;} -
trunk/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCylinderSurfaceFlux.cc,v 1. 4 2009/11/14 00:01:13 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCylinderSurfaceFlux.cc,v 1.8 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // // G4PSCylinderSurfaceFlux … … 50 50 // 51 51 // Created: 2007-03-29 Tsukasa ASO 52 // 2010-07-22 Introduce Unit specification. 53 // 2010-07-22 Add weighted and divideByArea options 52 54 /////////////////////////////////////////////////////////////////////////////// 53 55 54 56 G4PSCylinderSurfaceFlux::G4PSCylinderSurfaceFlux(G4String name, 55 57 G4int direction, G4int depth) 58 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 59 weighted(true),divideByArea(true) 60 { 61 DefineUnitAndCategory(); 62 SetUnit("percm2"); 63 } 64 65 G4PSCylinderSurfaceFlux::G4PSCylinderSurfaceFlux(G4String name, 66 G4int direction, 67 const G4String& unit, 68 G4int depth) 56 69 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) 57 {;} 70 { 71 DefineUnitAndCategory(); 72 SetUnit(unit); 73 } 58 74 59 75 G4PSCylinderSurfaceFlux::~G4PSCylinderSurfaceFlux() … … 80 96 } 81 97 82 // if( solid->GetEntityType() != "G4Tubs" ){83 // G4Exception("G4PSCylinderSurfaceFluxScorer. - Solid type is not supported.");84 // return FALSE;85 // }86 98 G4Tubs* tubsSolid = (G4Tubs*)(solid); 87 99 … … 116 128 *tubsSolid->GetInnerRadius()* tubsSolid->GetDeltaPhiAngle()/radian; 117 129 118 G4double flux = preStep->GetWeight(); 130 G4double flux = 1.0; 131 if ( weighted ) flux *=preStep->GetWeight(); 119 132 // Current (Particle Weight) 120 133 121 flux = flux/angleFactor/square; 134 flux = flux/angleFactor; 135 if ( divideByArea ) flux /= square; 122 136 //Flux with angle. 123 137 G4int index = GetIndex(aStep); … … 201 215 for(; itr != EvtMap->GetMap()->end(); itr++) { 202 216 G4cout << " copy no.: " << itr->first 203 << " flux : " << *(itr->second)*cm*cm << " [cm^-2]" 217 << " flux : " << *(itr->second)/GetUnitValue() 218 << " ["<<GetUnit()<<"]" 204 219 << G4endl; 205 220 } 206 221 } 207 222 223 void G4PSCylinderSurfaceFlux::SetUnit(const G4String& unit) 224 { 225 if ( divideByArea ) { 226 CheckAndSetUnit(unit,"Per Unit Surface"); 227 } else { 228 if (unit == "" ){ 229 unitName = unit; 230 unitValue = 1.0; 231 }else{ 232 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 233 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 234 } 235 } 236 } 237 238 void G4PSCylinderSurfaceFlux::DefineUnitAndCategory(){ 239 // Per Unit Surface 240 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 241 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 242 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 243 } 244 245 -
trunk/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSCylinderSurfaceFlux3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSCylinderSurfaceFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSCylinderSurfaceFlux3D … … 47 47 // 48 48 // Created: 2008-08-14 Tsukasa ASO 49 // 2010-07-22 Introduce Unit specification. 49 50 /////////////////////////////////////////////////////////////////////////////// 50 51 … … 61 62 } 62 63 64 G4PSCylinderSurfaceFlux3D::G4PSCylinderSurfaceFlux3D(G4String name, 65 G4int direction, 66 const G4String& unit, 67 G4int ni, G4int nj, G4int nk, 68 G4int di, G4int dj, G4int dk) 69 :G4PSCylinderSurfaceFlux(name,direction), 70 fDepthi(di),fDepthj(dj),fDepthk(dk) 71 { 72 fNi=ni; 73 fNj=nj; 74 fNk=nk; 75 SetUnit(unit); 76 } 77 63 78 G4PSCylinderSurfaceFlux3D::~G4PSCylinderSurfaceFlux3D() 64 79 {;} -
trunk/source/digits_hits/scorer/src/G4PSDoseDeposit.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSDoseDeposit.cc,v 1. 2 2008/12/28 20:32:00asaim Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSDoseDeposit.cc,v 1.5 2010/09/16 06:44:44 asaim Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSDoseDeposit … … 41 41 // 42 42 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 43 // 2010-07-22 Introduce Unit specification. 43 44 // 44 45 /////////////////////////////////////////////////////////////////////////////// … … 46 47 G4PSDoseDeposit::G4PSDoseDeposit(G4String name, G4int depth) 47 48 :G4VPrimitiveScorer(name,depth),HCID(-1) 48 {;} 49 { 50 SetUnit("Gy"); 51 } 52 53 G4PSDoseDeposit::G4PSDoseDeposit(G4String name, const G4String& unit, 54 G4int depth) 55 :G4VPrimitiveScorer(name,depth),HCID(-1) 56 { 57 SetUnit(unit); 58 } 49 59 50 60 G4PSDoseDeposit::~G4PSDoseDeposit() … … 63 73 G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) 64 74 ->GetReplicaNumber(indexDepth); 75 if(idx<0) 76 { 77 G4Exception("G4PSDoseDeposit","G4PSDoseDeposit::ProcessHits",JustWarning, 78 "Incorrect replica number"); 79 G4cerr << " --- GetReplicaNumber : " << idx << G4endl; 80 } 65 81 solid = physParam->ComputeSolid(idx, physVol); 66 82 solid->ComputeDimensions(physParam,idx,physVol); … … 71 87 } 72 88 73 G4double density = aStep->GetTrack()->Get Material()->GetDensity();89 G4double density = aStep->GetTrack()->GetStep()->GetPreStepPoint()->GetMaterial()->GetDensity(); 74 90 G4double dose = edep / ( density * (solid->GetCubicVolume()) ); 75 91 dose *= aStep->GetPreStepPoint()->GetWeight(); … … 106 122 for(; itr != EvtMap->GetMap()->end(); itr++) { 107 123 G4cout << " copy no.: " << itr->first 108 << " dose deposit: " << G4BestUnit(*(itr->second),"Dose") 124 << " dose deposit: " 125 << *(itr->second)/GetUnitValue() 126 << " ["<<GetUnit() <<"]" 109 127 << G4endl; 110 128 } 111 129 } 112 130 131 void G4PSDoseDeposit::SetUnit(const G4String& unit) 132 { 133 CheckAndSetUnit(unit,"Dose"); 134 } 135 136 137 -
trunk/source/digits_hits/scorer/src/G4PSDoseDeposit3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSDoseDeposit3D.cc,v 1. 3 2007/08/29 06:36:42 taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSDoseDeposit3D.cc,v 1.6 2010/09/16 14:58:34 gcosmo Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSDoseDeposit3D … … 36 36 // 37 37 // Created: 2008-08-14 Tsukasa ASO 38 // 2010-07-22 Introduce Unit specification. 38 39 // 39 40 /////////////////////////////////////////////////////////////////////////////// … … 50 51 } 51 52 53 G4PSDoseDeposit3D::G4PSDoseDeposit3D(G4String name, 54 const G4String& unit, 55 G4int ni, G4int nj, G4int nk, 56 G4int di, G4int dj, G4int dk) 57 :G4PSDoseDeposit(name), 58 fDepthi(di),fDepthj(dj),fDepthk(dk) 59 { 60 fNi=ni; 61 fNj=nj; 62 fNk=nk; 63 SetUnit(unit); 64 } 65 52 66 G4PSDoseDeposit3D::~G4PSDoseDeposit3D() 53 67 {;} … … 60 74 G4int k = touchable->GetReplicaNumber(fDepthk); 61 75 76 if(i<0) 77 { 78 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 79 "GetReplicaNumber is negative"); 80 G4cerr << "touchable->GetReplicaNumber(fDepthi) returns " << i << G4endl 81 << "for volume: " << touchable->GetVolume(fDepthi)->GetName() 82 << G4endl; 83 } 84 if(j<0) 85 { 86 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 87 "GetReplicaNumber is negative"); 88 G4cerr << "touchable->GetReplicaNumber(fDepthj) returns " << j << G4endl 89 << "for volume: " << touchable->GetVolume(fDepthj)->GetName() 90 << G4endl; 91 } 92 if(k<0) 93 { 94 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 95 "GetReplicaNumber is negative"); 96 G4cerr << "touchable->GetReplicaNumber(fDepthk) returns " << k << G4endl 97 << "for volume: " << touchable->GetVolume(fDepthk)->GetName() 98 << G4endl; 99 } 100 62 101 return i*fNj*fNk+j*fNk+k; 63 102 } -
trunk/source/digits_hits/scorer/src/G4PSEnergyDeposit.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSEnergyDeposit.cc,v 1. 1 2007/07/11 01:31:02 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSEnergyDeposit.cc,v 1.3 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSEnergyDeposit … … 36 36 // 37 37 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 38 // 2010-07-22 Introduce Unit specification. 38 39 // 39 40 /////////////////////////////////////////////////////////////////////////////// 40 41 41 42 G4PSEnergyDeposit::G4PSEnergyDeposit(G4String name, G4int depth) 43 :G4VPrimitiveScorer(name,depth),HCID(-1) 44 { 45 SetUnit("MeV"); 46 } 47 48 G4PSEnergyDeposit::G4PSEnergyDeposit(G4String name, const G4String& unit, 49 G4int depth) 42 50 :G4VPrimitiveScorer(name,depth),HCID(-1) 43 {;} 51 { 52 SetUnit(unit); 53 } 44 54 45 55 G4PSEnergyDeposit::~G4PSEnergyDeposit() … … 83 93 for(; itr != EvtMap->GetMap()->end(); itr++) { 84 94 G4cout << " copy no.: " << itr->first 85 << " energy deposit: " << G4BestUnit(*(itr->second),"Energy") 95 << " energy deposit: " 96 << *(itr->second)/GetUnitValue() 97 << " [" << GetUnit()<<"]" 86 98 << G4endl; 87 99 } 88 100 } 101 102 void G4PSEnergyDeposit::SetUnit(const G4String& unit) 103 { 104 CheckAndSetUnit(unit,"Energy"); 105 } -
trunk/source/digits_hits/scorer/src/G4PSEnergyDeposit3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSEnergyDeposit3D.cc,v 1. 3 2007/08/29 06:36:42 taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSEnergyDeposit3D.cc,v 1.6 2010/09/16 14:58:34 gcosmo Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSEnergyDeposit3D … … 49 49 } 50 50 51 G4PSEnergyDeposit3D::G4PSEnergyDeposit3D(G4String name, const G4String& unit, 52 G4int ni, G4int nj, G4int nk, 53 G4int depi, G4int depj, G4int depk) 54 :G4PSEnergyDeposit(name), 55 fDepthi(depi),fDepthj(depj),fDepthk(depk) 56 { 57 fNi=ni; 58 fNj=nj; 59 fNk=nk; 60 SetUnit(unit); 61 } 62 51 63 G4PSEnergyDeposit3D::~G4PSEnergyDeposit3D() 52 64 {;} … … 59 71 G4int k = touchable->GetReplicaNumber(fDepthk); 60 72 73 if(i<0) 74 { 75 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 76 "GetReplicaNumber is negative"); 77 G4cerr << "touchable->GetReplicaNumber(fDepthi) returns " << i << G4endl 78 << "for volume: " << touchable->GetVolume(fDepthi)->GetName() 79 << G4endl; 80 } 81 if(j<0) 82 { 83 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 84 "GetReplicaNumber is negative"); 85 G4cerr << "touchable->GetReplicaNumber(fDepthj) returns " << j << G4endl 86 << "for volume: " << touchable->GetVolume(fDepthj)->GetName() 87 << G4endl; 88 } 89 if(k<0) 90 { 91 G4Exception("G4PSEnergyDeposit3D","G4PSEnergyDeposit3D::GetIndex",JustWarning, 92 "GetReplicaNumber is negative"); 93 G4cerr << "touchable->GetReplicaNumber(fDepthk) returns " << k << G4endl 94 << "for volume: " << touchable->GetVolume(fDepthk)->GetName() 95 << G4endl; 96 97 } 98 61 99 return i*fNj*fNk+j*fNk+k; 62 100 } -
trunk/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSFlatSurfaceCurrent.cc,v 1. 3 2008/12/29 00:17:14 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSFlatSurfaceCurrent.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSFlatSurfaceCurrent … … 51 51 // 17-Nov-2005 T.Aso, Bug fix for area definition. 52 52 // 31-Mar-2007 T.Aso, Add option for normalizing by the area. 53 // 2010-07-22 Introduce Unit specification. 53 54 // 54 55 /////////////////////////////////////////////////////////////////////////////// … … 59 60 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 60 61 weighted(true),divideByArea(true) 61 {;} 62 { 63 DefineUnitAndCategory(); 64 SetUnit("percm2"); 65 } 66 67 G4PSFlatSurfaceCurrent::G4PSFlatSurfaceCurrent(G4String name, 68 G4int direction, 69 const G4String& unit, 70 G4int depth) 71 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 72 weighted(true),divideByArea(true) 73 { 74 DefineUnitAndCategory(); 75 SetUnit(unit); 76 } 62 77 63 78 G4PSFlatSurfaceCurrent::~G4PSFlatSurfaceCurrent() … … 82 97 } 83 98 84 // if( solid->GetEntityType() != "G4Box" ){85 // G4Exception("G4PSFlatSurfaceCurrentScorer. - Solid type is not supported.");86 // return FALSE;87 // }88 99 G4Box* boxSolid = (G4Box*)(solid); 89 100 … … 160 171 for(; itr != EvtMap->GetMap()->end(); itr++) { 161 172 G4cout << " copy no.: " << itr->first << " current : " ; 162 if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2] "; 163 else G4cout << *(itr->second) << " [track]"; 173 if ( divideByArea ) { 174 G4cout << *(itr->second)/GetUnitValue() 175 << " ["<<GetUnit()<<"]"; 176 }else { 177 G4cout << *(itr->second)/GetUnitValue() << " [tracks]"; 178 } 164 179 G4cout << G4endl; 165 180 } 166 181 } 167 182 183 void G4PSFlatSurfaceCurrent::SetUnit(const G4String& unit) 184 { 185 if ( divideByArea ) { 186 CheckAndSetUnit(unit,"Per Unit Surface"); 187 } else { 188 if (unit == "" ){ 189 unitName = unit; 190 unitValue = 1.0; 191 }else{ 192 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 193 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 194 } 195 } 196 } 197 198 void G4PSFlatSurfaceCurrent::DefineUnitAndCategory(){ 199 // Per Unit Surface 200 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 201 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 202 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 203 } 204 -
trunk/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSFlatSurfaceCurrent3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSFlatSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSFlatSurfaceCurrent3D … … 47 47 // 48 48 // Created: 2008-08-14 Tsukasa ASO 49 // 2010-07-22 Introduce Unit specification. 49 50 /////////////////////////////////////////////////////////////////////////////// 50 51 … … 62 63 } 63 64 65 G4PSFlatSurfaceCurrent3D::G4PSFlatSurfaceCurrent3D(G4String name, G4int direction, 66 const G4String& unit, 67 G4int ni, G4int nj, G4int nk, 68 G4int di, G4int dj, G4int dk) 69 70 :G4PSFlatSurfaceCurrent(name,direction), 71 fDepthi(di),fDepthj(dj),fDepthk(dk) 72 { 73 fNi=ni; 74 fNj=nj; 75 fNk=nk; 76 SetUnit(unit); 77 } 78 64 79 G4PSFlatSurfaceCurrent3D::~G4PSFlatSurfaceCurrent3D() 65 80 {;} -
trunk/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSFlatSurfaceFlux.cc,v 1. 2 2008/12/29 00:17:14 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSFlatSurfaceFlux.cc,v 1.6 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSFlatSurfaceFlux … … 53 53 // 18-Nov-2005 T.Aso, To use always positive value for anglefactor. 54 54 // 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. 55 // 2010-07-22 Introduce Unit specification. 56 // 2010-07-22 Add weighted and divideByAre options 55 57 /////////////////////////////////////////////////////////////////////////////// 56 58 57 59 G4PSFlatSurfaceFlux::G4PSFlatSurfaceFlux(G4String name, 58 60 G4int direction, G4int depth) 61 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 62 weighted(true),divideByArea(true) 63 { 64 DefineUnitAndCategory(); 65 SetUnit("percm2"); 66 } 67 68 G4PSFlatSurfaceFlux::G4PSFlatSurfaceFlux(G4String name, 69 G4int direction, 70 const G4String& unit, 71 G4int depth) 59 72 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) 60 {;} 73 { 74 DefineUnitAndCategory(); 75 SetUnit(unit); 76 } 61 77 62 78 G4PSFlatSurfaceFlux::~G4PSFlatSurfaceFlux() … … 81 97 } 82 98 83 // if( solid->GetEntityType() != "G4Box" ){84 // G4Exception("G4PSFlatSurfaceFluxScorer. - Solid type is not supported.");85 // return FALSE;86 // }87 99 G4Box* boxSolid = (G4Box*)(solid); 88 100 … … 107 119 G4double angleFactor = localdir.z(); 108 120 if ( angleFactor < 0 ) angleFactor *= -1.; 109 G4double flux = preStep->GetWeight(); // Current (Particle Weight) 121 G4double flux = 1.0; 122 if ( weighted ) flux *=preStep->GetWeight(); // Current (Particle Weight) 110 123 // 111 124 G4double square = 4.*boxSolid->GetXHalfLength()*boxSolid->GetYHalfLength(); 112 125 // 113 flux = flux/angleFactor/square; // Flux with angle. 126 flux = flux/angleFactor; // Flux with angle. 127 if ( divideByArea ) flux /= square; 114 128 // 115 129 G4int index = GetIndex(aStep); … … 180 194 for(; itr != EvtMap->GetMap()->end(); itr++) { 181 195 G4cout << " copy no.: " << itr->first 182 << " flux : " << *(itr->second)*cm*cm << " [cm^-2]" 196 << " flux : " << *(itr->second)/GetUnitValue() 197 << " [" << GetUnit() <<"]" 183 198 << G4endl; 184 199 } 185 200 } 186 201 202 void G4PSFlatSurfaceFlux::SetUnit(const G4String& unit) 203 { 204 if ( divideByArea ) { 205 CheckAndSetUnit(unit,"Per Unit Surface"); 206 } else { 207 if (unit == "" ){ 208 unitName = unit; 209 unitValue = 1.0; 210 }else{ 211 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 212 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 213 } 214 } 215 } 216 217 void G4PSFlatSurfaceFlux::DefineUnitAndCategory(){ 218 // Per Unit Surface 219 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 220 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 221 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 222 } 223 224 -
trunk/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSFlatSurfaceFlux3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSFlatSurfaceFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSFlatSurfaceFlux3D … … 48 48 // 49 49 // Created: 2007-08-14 Tsukasa ASO 50 // 2010-07-22 Introduce Unit specification. 50 51 // 51 52 /////////////////////////////////////////////////////////////////////////////// … … 62 63 } 63 64 65 G4PSFlatSurfaceFlux3D::G4PSFlatSurfaceFlux3D(G4String name, G4int direction, 66 const G4String& unit, 67 G4int ni, G4int nj, G4int nk, 68 G4int di, G4int dj, G4int dk) 69 :G4PSFlatSurfaceFlux(name,direction), 70 fDepthi(di),fDepthj(dj),fDepthk(dk) 71 { 72 fNi=ni; 73 fNj=nj; 74 fNk=nk; 75 SetUnit(unit); 76 } 77 64 78 G4PSFlatSurfaceFlux3D::~G4PSFlatSurfaceFlux3D() 65 79 {;} -
trunk/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSMinKinEAtGeneration.cc,v 1. 1 2007/07/11 01:31:02 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSMinKinEAtGeneration.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSMinKinEAtGeneration … … 37 37 // 38 38 // Created: 2005-11-17 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 41 42 G4PSMinKinEAtGeneration::G4PSMinKinEAtGeneration(G4String name, G4int depth) 42 43 :G4VPrimitiveScorer(name,depth),HCID(-1) 43 {;} 44 { 45 SetUnit("MeV"); 46 } 47 48 G4PSMinKinEAtGeneration::G4PSMinKinEAtGeneration(G4String name, 49 const G4String& unit, 50 G4int depth) 51 :G4VPrimitiveScorer(name,depth),HCID(-1) 52 { 53 SetUnit(unit); 54 } 44 55 45 56 G4PSMinKinEAtGeneration::~G4PSMinKinEAtGeneration() … … 110 121 for(; itr != EvtMap->GetMap()->end(); itr++) { 111 122 G4cout << " copy no.: " << itr->first 112 << " num of step: " << G4BestUnit(*(itr->second),"Energy") 123 << " num of step: " << *(itr->second)/GetUnitValue() 124 << " ["<<GetUnit()<<"]" 113 125 << G4endl; 114 126 } 115 127 } 116 128 129 void G4PSMinKinEAtGeneration::SetUnit(const G4String& unit) 130 { 131 CheckAndSetUnit(unit,"Energy"); 132 } 133 134 -
trunk/source/digits_hits/scorer/src/G4PSMinKinEAtGeneration3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSMinKinEAtGeneration3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSMinKinEAtGeneration3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSMinKinEAtGeneration3D … … 37 37 // 38 38 // Created: 2007-08-14 Tsukasa ASO 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 // … … 52 53 } 53 54 55 G4PSMinKinEAtGeneration3D::G4PSMinKinEAtGeneration3D(G4String name, 56 const G4String& unit, 57 G4int ni, G4int nj, G4int nk, 58 G4int depi, G4int depj, G4int depk) 59 :G4PSMinKinEAtGeneration(name), 60 fDepthi(depi),fDepthj(depj),fDepthk(depk) 61 { 62 fNi=ni; 63 fNj=nj; 64 fNk=nk; 65 SetUnit(unit); 66 } 67 54 68 G4PSMinKinEAtGeneration3D::~G4PSMinKinEAtGeneration3D() 55 69 {;} -
trunk/source/digits_hits/scorer/src/G4PSNofCollision.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSNofCollision.cc,v 1. 1 2007/07/11 01:31:02 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSNofCollision.cc,v 1.3 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSNofCollision … … 37 37 // 38 38 // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 42 43 G4PSNofCollision::G4PSNofCollision(G4String name, G4int depth) 43 44 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) 44 {;} 45 { 46 SetUnit(""); 47 } 45 48 46 49 G4PSNofCollision::~G4PSNofCollision() … … 83 86 for(; itr != EvtMap->GetMap()->end(); itr++) { 84 87 G4cout << " copy no.: " << itr->first 85 << " collisions: " << *(itr->second) 88 << " collisions: " << *(itr->second)/GetUnitValue() 89 << " [collision] " 86 90 << G4endl; 87 91 } 88 92 } 89 93 94 95 void G4PSNofCollision::SetUnit(const G4String& unit) 96 { 97 if (unit == "" ){ 98 unitName = unit; 99 unitValue = 1.0; 100 }else{ 101 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 102 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 103 } 104 } 105 106 -
trunk/source/digits_hits/scorer/src/G4PSNofSecondary.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSNofSecondary.cc,v 1. 2 2007/08/14 21:23:51taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSNofSecondary.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSNofSecondary … … 39 39 40 40 G4PSNofSecondary::G4PSNofSecondary(G4String name, G4int depth) 41 :G4VPrimitiveScorer(name,depth),HCID(-1),particleDef(0) 41 :G4VPrimitiveScorer(name,depth),HCID(-1),particleDef(0), 42 weighted(true) 42 43 {;} 43 44 … … 57 58 //- This is a newly produced secondary particle. 58 59 G4int index = GetIndex(aStep); 59 G4double weight = aStep->GetPreStepPoint()->GetWeight(); 60 G4double weight = 1.0; 61 if ( weighted ) weight *= aStep->GetPreStepPoint()->GetWeight(); 60 62 EvtMap->add(index,weight); 61 63 return TRUE; … … 99 101 for(; itr != EvtMap->GetMap()->end(); itr++) { 100 102 G4cout << " copy no.: " << itr->first 101 << " num of step: " << *(itr->second) 103 << " num of step: " << *(itr->second)/GetUnitValue() 102 104 << G4endl; 103 105 } 104 106 } 105 107 108 void G4PSNofSecondary::SetUnit(const G4String& unit) 109 { 110 if (unit == "" ){ 111 unitName = unit; 112 unitValue = 1.0; 113 }else{ 114 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 115 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 116 } 117 } 118 -
trunk/source/digits_hits/scorer/src/G4PSNofStep.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSNofStep.cc,v 1. 2 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSNofStep.cc,v 1.4 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSNofStep 31 31 #include "G4PSNofStep.hh" 32 #include "G4UnitsTable.hh" 32 33 33 34 // (Description) … … 36 37 // 37 38 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 38 40 // 39 41 40 42 G4PSNofStep::G4PSNofStep(G4String name, G4int depth) 41 43 :G4VPrimitiveScorer(name,depth),HCID(-1),boundaryFlag(false) 42 {;} 44 { 45 SetUnit(""); 46 } 43 47 44 48 G4PSNofStep::~G4PSNofStep() … … 82 86 G4cout << " copy no.: " << itr->first 83 87 << " num of step: " << *(itr->second) 88 << " [steps] " 84 89 << G4endl; 85 90 } 86 91 } 87 92 93 void G4PSNofStep::SetUnit(const G4String& unit) 94 { 95 if (unit == "" ){ 96 unitName = unit; 97 unitValue = 1.0; 98 }else{ 99 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 100 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 101 } 102 103 } 104 105 -
trunk/source/digits_hits/scorer/src/G4PSNofStep3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSNofStep3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSNofStep3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSNofStep3D -
trunk/source/digits_hits/scorer/src/G4PSPassageCellCurrent.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageCellCurrent.cc,v 1. 1 2007/08/14 21:30:46taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageCellCurrent.cc,v 1.4 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageCellCurrent … … 41 41 // 42 42 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 43 // 2010-07-22 Introduce Unit specification. 44 // 2010-07-22 Add weighted option 43 45 // 44 46 /////////////////////////////////////////////////////////////////////////////// … … 47 49 :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCurrent(0), 48 50 weighted(true) 49 {;} 51 { 52 SetUnit(""); 53 } 50 54 51 55 G4PSPassageCellCurrent::~G4PSPassageCellCurrent() … … 118 122 G4cout << " copy no.: " << itr->first 119 123 << " cell current : " << *(itr->second) 124 << " [tracks] " 120 125 << G4endl; 121 126 } 122 127 } 123 128 129 void G4PSPassageCellCurrent::SetUnit(const G4String& unit) 130 { 131 if (unit == "" ){ 132 unitName = unit; 133 unitValue = 1.0; 134 }else{ 135 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 136 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 137 } 138 } 139 140 -
trunk/source/digits_hits/scorer/src/G4PSPassageCellCurrent3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageCellCurrent3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageCellCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageCellCurrent3D … … 38 38 // 39 39 // Created: 2007-08-14 Tsukasa ASO 40 // 2010-07-22 Introduce Unit specification. 40 41 // 41 42 /////////////////////////////////////////////////////////////////////////////// -
trunk/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageCellFlux.cc,v 1. 2 2008/12/28 20:32:00 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageCellFlux.cc,v 1.4 2010/07/22 23:42:01 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageCellFlux … … 47 47 // 48 48 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 49 // 2010-07-22 Introduce Unit specification. 50 // 2010-07-22 Add weighted option 49 51 // 50 52 /////////////////////////////////////////////////////////////////////////////// 51 53 52 54 G4PSPassageCellFlux::G4PSPassageCellFlux(G4String name, G4int depth) 55 :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCellFlux(0), 56 weighted(true) 57 { 58 DefineUnitAndCategory(); 59 SetUnit("percm2"); 60 } 61 62 G4PSPassageCellFlux::G4PSPassageCellFlux(G4String name, const G4String& unit, 63 G4int depth) 53 64 :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fCellFlux(0) 54 {;} 65 { 66 DefineUnitAndCategory(); 67 SetUnit(unit); 68 } 55 69 56 70 G4PSPassageCellFlux::~G4PSPassageCellFlux() … … 92 106 G4int trkid = aStep->GetTrack()->GetTrackID(); 93 107 G4double trklength = aStep->GetStepLength(); 94 trklength *= aStep->GetPreStepPoint()->GetWeight();108 if ( weighted ) trklength *= aStep->GetPreStepPoint()->GetWeight(); 95 109 96 110 if ( IsEnter &&IsExit ){ // Passed at one step … … 143 157 for(; itr != EvtMap->GetMap()->end(); itr++) { 144 158 G4cout << " copy no.: " << itr->first 145 << " cell flux : " << *(itr->second)*cm*cm << " [cm^-2]" 159 << " cell flux : " << *(itr->second)/GetUnitValue() 160 << " [" << GetUnit() 146 161 << G4endl; 147 162 } 148 163 } 149 164 165 void G4PSPassageCellFlux::SetUnit(const G4String& unit) 166 { 167 CheckAndSetUnit(unit,"Per Unit Surface"); 168 } 169 170 void G4PSPassageCellFlux::DefineUnitAndCategory(){ 171 // Per Unit Surface 172 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 173 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 174 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 175 } 176 177 -
trunk/source/digits_hits/scorer/src/G4PSPassageCellFlux3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageCellFlux3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageCellFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageCellFlux3D … … 55 55 } 56 56 57 G4PSPassageCellFlux3D::G4PSPassageCellFlux3D(G4String name,const G4String& unit, 58 G4int ni, G4int nj, G4int nk, 59 G4int di, G4int dj, G4int dk) 60 :G4PSPassageCellFlux(name), 61 fDepthi(di),fDepthj(dj),fDepthk(dk) 62 { 63 fNi=ni; 64 fNj=nj; 65 fNk=nk; 66 SetUnit(unit); 67 } 68 57 69 G4PSPassageCellFlux3D::~G4PSPassageCellFlux3D() 58 70 {;} -
trunk/source/digits_hits/scorer/src/G4PSPassageTrackLength.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageTrackLength.cc,v 1. 1 2007/07/11 01:31:03 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageTrackLength.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageTrackLength … … 41 41 // 42 42 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 43 // 2010-07-22 Introduce Unit specification. 43 44 // 44 45 /////////////////////////////////////////////////////////////////////////////// … … 47 48 :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fTrackLength(0.), 48 49 weighted(false) 49 {;} 50 { 51 SetUnit("mm"); 52 } 53 54 G4PSPassageTrackLength::G4PSPassageTrackLength(G4String name, 55 const G4String& unit, 56 G4int depth) 57 :G4VPrimitiveScorer(name,depth),HCID(-1),fCurrentTrkID(-1),fTrackLength(0.), 58 weighted(false) 59 { 60 SetUnit(unit); 61 } 62 50 63 51 64 G4PSPassageTrackLength::~G4PSPassageTrackLength() … … 120 133 for(; itr != EvtMap->GetMap()->end(); itr++) { 121 134 G4cout << " copy no.: " << itr->first 122 << " track length : " << G4BestUnit(*(itr->second),"Length") 135 << " track length : " 136 << *(itr->second)/GetUnitValue() 137 << " [" << GetUnit()<< "]" 123 138 << G4endl; 124 139 } 125 140 } 126 141 142 void G4PSPassageTrackLength::SetUnit(const G4String& unit) 143 { 144 CheckAndSetUnit(unit,"Length"); 145 } -
trunk/source/digits_hits/scorer/src/G4PSPassageTrackLength3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPassageTrackLength3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPassageTrackLength3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPassageTrackLength3D … … 38 38 // 39 39 // Created: 2008-08-14 Tsukasa ASO 40 // 2010-07-22 Introduce Unit specification. 40 41 // 41 42 /////////////////////////////////////////////////////////////////////////////// … … 52 53 } 53 54 55 G4PSPassageTrackLength3D::G4PSPassageTrackLength3D(G4String name,const G4String& unit, 56 G4int ni, G4int nj, G4int nk, 57 G4int depi, G4int depj, G4int depk) 58 :G4PSPassageTrackLength(name), 59 fDepthi(depi),fDepthj(depj),fDepthk(depk) 60 { 61 fNi=ni; 62 fNj=nj; 63 fNk=nk; 64 SetUnit(unit); 65 } 66 54 67 G4PSPassageTrackLength3D::~G4PSPassageTrackLength3D() 55 68 {;} -
trunk/source/digits_hits/scorer/src/G4PSPopulation.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSPopulation.cc,v 1. 1 2007/07/11 01:31:03 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSPopulation.cc,v 1.3 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSPopulation … … 37 37 // 38 38 // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 42 43 G4PSPopulation::G4PSPopulation(G4String name, G4int depth) 43 44 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) 44 {;} 45 { 46 SetUnit(""); 47 } 45 48 46 49 G4PSPopulation::~G4PSPopulation() … … 89 92 for(; itr != EvtMap->GetMap()->end(); itr++) { 90 93 G4cout << " copy no.: " << itr->first 91 << " population: " << *(itr->second) 94 << " population: " << *(itr->second)/GetUnitValue() 95 << " [tracks]" 92 96 << G4endl; 93 97 } 94 98 } 95 99 100 void G4PSPopulation::SetUnit(const G4String& unit) 101 { 102 if (unit == "" ){ 103 unitName = unit; 104 unitValue = 1.0; 105 }else{ 106 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 107 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 108 } 109 110 } -
trunk/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSSphereSurfaceCurrent.cc,v 1. 4 2009/11/14 00:01:13 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSSphereSurfaceCurrent.cc,v 1.6 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSSphereSurfaceCurrent … … 49 49 // 50 50 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 51 // 2010-07-22 Introduce Unit specification. 51 52 // 52 53 /////////////////////////////////////////////////////////////////////////////// … … 56 57 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 57 58 weighted(true),divideByArea(true) 58 {;} 59 { 60 DefineUnitAndCategory(); 61 SetUnit("percm2"); 62 } 63 64 G4PSSphereSurfaceCurrent::G4PSSphereSurfaceCurrent(G4String name, 65 G4int direction, 66 const G4String& unit, 67 G4int depth) 68 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 69 weighted(true),divideByArea(true) 70 { 71 DefineUnitAndCategory(); 72 SetUnit(unit); 73 } 59 74 60 75 G4PSSphereSurfaceCurrent::~G4PSSphereSurfaceCurrent() … … 79 94 } 80 95 81 // if( solid->GetEntityType() != "G4Sphere" ){82 // G4Exception("G4PSSphereSurfaceCurrentScorer. - Solid type is not supported.");83 // return FALSE;84 // }85 96 G4Sphere* sphereSolid = (G4Sphere*)(solid); 86 97 … … 177 188 for(; itr != EvtMap->GetMap()->end(); itr++) { 178 189 G4cout << " copy no.: " << itr->first << " current : " ; 179 if ( divideByArea ) G4cout << *(itr->second)*cm*cm << " [/cm2]" ; 180 else G4cout << *(itr->second)*cm*cm << " [track]" ; 190 if ( divideByArea ) { 191 G4cout << *(itr->second)/GetUnitValue() 192 << " [" <<GetUnit()<<"]"; 193 }else { 194 G4cout << *(itr->second) << " [tracks]" ; 195 } 181 196 G4cout << G4endl; 182 197 } 183 198 } 184 199 200 201 void G4PSSphereSurfaceCurrent::SetUnit(const G4String& unit) 202 { 203 if ( divideByArea ) { 204 CheckAndSetUnit(unit,"Per Unit Surface"); 205 } else { 206 if (unit == "" ){ 207 unitName = unit; 208 unitValue = 1.0; 209 }else{ 210 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 211 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 212 } 213 } 214 } 215 216 void G4PSSphereSurfaceCurrent::DefineUnitAndCategory(){ 217 // Per Unit Surface 218 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 219 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 220 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 221 } -
trunk/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSSphereSurfaceCurrent3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSSphereSurfaceCurrent3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSSphereSurfaceCurrent3D … … 46 46 // 47 47 // Created: 2007-08-14 Tsukasa ASO 48 // 2010-07-22 Introduce Unit specification. 48 49 // 49 50 /////////////////////////////////////////////////////////////////////////////// … … 60 61 } 61 62 63 G4PSSphereSurfaceCurrent3D::G4PSSphereSurfaceCurrent3D(G4String name, 64 G4int direction, 65 const G4String& unit, 66 G4int ni, G4int nj, G4int nk, 67 G4int depi, G4int depj, G4int depk) 68 :G4PSSphereSurfaceCurrent(name,direction), 69 fDepthi(depi),fDepthj(depj),fDepthk(depk) 70 { 71 fNi=ni; 72 fNj=nj; 73 fNk=nk; 74 SetUnit(unit); 75 } 76 62 77 G4PSSphereSurfaceCurrent3D::~G4PSSphereSurfaceCurrent3D() 63 78 {;} -
trunk/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSSphereSurfaceFlux.cc,v 1. 3 2009/11/14 00:01:13 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSSphereSurfaceFlux.cc,v 1.7 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSSphereSurfaceFlux … … 50 50 // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. 51 51 // 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux. 52 // 2010-07-22 Introduce Unit specification. 53 // 2010-07-22 Add weighted and divideByAre options 52 54 // 53 55 /////////////////////////////////////////////////////////////////////////////// … … 55 57 G4PSSphereSurfaceFlux::G4PSSphereSurfaceFlux(G4String name, 56 58 G4int direction, G4int depth) 59 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction), 60 weighted(true),divideByArea(true) 61 { 62 DefineUnitAndCategory(); 63 SetUnit("percm2"); 64 } 65 66 G4PSSphereSurfaceFlux::G4PSSphereSurfaceFlux(G4String name, 67 G4int direction, 68 const G4String& unit, 69 G4int depth) 57 70 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction) 58 {;} 71 { 72 DefineUnitAndCategory(); 73 SetUnit(unit); 74 } 59 75 60 76 G4PSSphereSurfaceFlux::~G4PSSphereSurfaceFlux() … … 79 95 } 80 96 81 // if( solid->GetEntityType() != "G4Sphere" ){82 // G4Exception("G4PSSphereSurfaceFluxScorer. - Solid type is not supported.");83 // return FALSE;84 // }85 97 G4Sphere* sphereSolid = (G4Sphere*)(solid); 86 98 … … 122 134 G4double square = radi*radi*dph*( -std::cos(enth) + std::cos(stth) ); 123 135 124 G4double current = thisStep->GetWeight(); // Flux (Particle Weight) 125 current = current/square; // Flux with angle. 136 G4double current = 1.0; 137 if ( weighted ) thisStep->GetWeight(); // Flux (Particle Weight) 138 if ( divideByArea ) current = current/square; // Flux with angle. 126 139 127 140 current /= anglefactor; … … 205 218 for(; itr != EvtMap->GetMap()->end(); itr++) { 206 219 G4cout << " copy no.: " << itr->first 207 << " current : " << *(itr->second) 220 << " current : " << *(itr->second)/GetUnitValue() 221 << " ["<<GetUnit()<<"]" 208 222 << G4endl; 209 223 } 210 224 } 211 225 226 void G4PSSphereSurfaceFlux::SetUnit(const G4String& unit) 227 { 228 if ( divideByArea ) { 229 CheckAndSetUnit(unit,"Per Unit Surface"); 230 } else { 231 if (unit == "" ){ 232 unitName = unit; 233 unitValue = 1.0; 234 }else{ 235 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 236 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 237 } 238 } 239 } 240 241 void G4PSSphereSurfaceFlux::DefineUnitAndCategory(){ 242 // Per Unit Surface 243 new G4UnitDefinition("percentimeter2","percm2","Per Unit Surface",(1./cm2)); 244 new G4UnitDefinition("permillimeter2","permm2","Per Unit Surface",(1./mm2)); 245 new G4UnitDefinition("permeter2","perm2","Per Unit Surface",(1./m2)); 246 } 247 -
trunk/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSSphereSurfaceFlux3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSSphereSurfaceFlux3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSSphereSurfaceFlux3D … … 46 46 // 47 47 // Created: 2007-08-14 Tsukasa ASO 48 // 2010-07-22 Introduce Unit specification. 48 49 /////////////////////////////////////////////////////////////////////////////// 49 50 … … 57 58 fNj=nj; 58 59 fNk=nk; 60 } 61 62 G4PSSphereSurfaceFlux3D::G4PSSphereSurfaceFlux3D(G4String name, G4int direction, 63 const G4String& unit, 64 G4int ni, G4int nj, G4int nk, 65 G4int depi, G4int depj, G4int depk) 66 :G4PSSphereSurfaceFlux(name,direction), 67 fDepthi(depi),fDepthj(depj),fDepthk(depk) 68 { 69 fNi=ni; 70 fNj=nj; 71 fNk=nk; 72 SetUnit(unit); 59 73 } 60 74 -
trunk/source/digits_hits/scorer/src/G4PSTermination.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSTermination.cc,v 1. 2 2007/12/10 16:29:42 gunterExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSTermination.cc,v 1.5 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSTermination … … 37 37 // 38 38 // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 42 43 G4PSTermination::G4PSTermination(G4String name, G4int depth) 43 44 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) 44 {;} 45 { 46 SetUnit(""); 47 } 45 48 46 49 G4PSTermination::~G4PSTermination() … … 88 91 } 89 92 93 void G4PSTermination::SetUnit(const G4String& unit) 94 { 95 if (unit == "" ){ 96 unitName = unit; 97 unitValue = 1.0; 98 }else{ 99 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 100 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 101 } 102 103 } 104 -
trunk/source/digits_hits/scorer/src/G4PSTrackCounter.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSTrackCounter.cc,v 1. 1 2007/07/11 01:31:03 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSTrackCounter.cc,v 1.3 2010/07/23 04:35:38 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSTrackCounter 31 31 #include "G4PSTrackCounter.hh" 32 32 #include "G4UnitsTable.hh" 33 33 34 34 /////////////////////////////////////////////////////////////////////////////// … … 37 37 // 38 38 // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 42 43 G4PSTrackCounter::G4PSTrackCounter(G4String name, G4int direction, G4int depth) 43 44 :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction),weighted(false) 44 {;} 45 { 46 SetUnit(""); 47 } 45 48 46 49 G4PSTrackCounter::~G4PSTrackCounter() … … 108 111 G4cout << " copy no.: " << itr->first 109 112 << " track count: " << *(itr->second) 113 << " [tracks] " 110 114 << G4endl; 111 115 } 112 116 } 117 118 void G4PSTrackCounter::SetUnit(const G4String& unit) 119 { 120 if (unit == "" ){ 121 unitName = unit; 122 unitValue = 1.0; 123 }else{ 124 G4String msg = "Invalid unit ["+unit+"] (Current unit is [" +GetUnit()+"] )"; 125 G4Exception(GetName(),"DetScorer0000",JustWarning,msg); 126 } 127 128 } 129 -
trunk/source/digits_hits/scorer/src/G4PSTrackCounter3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSTrackCounter3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSTrackCounter3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSTrackCounter3D -
trunk/source/digits_hits/scorer/src/G4PSTrackLength.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSTrackLength.cc,v 1. 1 2007/07/11 01:31:03 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSTrackLength.cc,v 1.2 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSTrackLength … … 37 37 // 38 38 // Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 43 44 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false),multiplyKinE(false), 44 45 divideByVelocity(false) 45 {;} 46 { 47 DefineUnitAndCategory(); 48 SetUnit("mm"); 49 } 50 51 G4PSTrackLength::G4PSTrackLength(G4String name, const G4String& unit, 52 G4int depth) 53 :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false),multiplyKinE(false), 54 divideByVelocity(false) 55 { 56 DefineUnitAndCategory(); 57 SetUnit(unit); 58 } 46 59 47 60 G4PSTrackLength::~G4PSTrackLength() 48 61 {;} 62 63 void G4PSTrackLength::MultiplyKineticEnergy(G4bool flg) 64 { 65 multiplyKinE = flg; 66 // Default unit is set according to flags. 67 SetUnit(""); 68 } 69 70 void G4PSTrackLength::DivideByVelocity(G4bool flg) 71 { 72 divideByVelocity = flg; 73 // Default unit is set according to flags. 74 SetUnit(""); 75 } 49 76 50 77 G4bool G4PSTrackLength::ProcessHits(G4Step* aStep,G4TouchableHistory*) … … 84 111 std::map<G4int,G4double*>::iterator itr = EvtMap->GetMap()->begin(); 85 112 for(; itr != EvtMap->GetMap()->end(); itr++) { 86 G4cout << " copy no.: " << itr->first << " track length: " ; 87 if ( multiplyKinE && !divideByVelocity ){ 88 G4cout << *(itr->second)/(mm*MeV) <<" mm*MeV"; 89 } else if ( !multiplyKinE && divideByVelocity ){ 90 G4cout << *(itr->second)*second <<" /second"; 91 } else if ( multiplyKinE && divideByVelocity) { 92 G4cout << *(itr->second)/MeV*second <<" MeV/second"; 93 } else { 94 G4cout << G4BestUnit(*(itr->second),"Length"); 95 } 113 G4cout << " copy no.: " << itr->first << " value "; 114 G4cout << *(itr->second)/GetUnitValue() 115 << " ["<< GetUnit() << "]"; 96 116 G4cout << G4endl; 97 117 } 98 118 } 99 119 120 void G4PSTrackLength::SetUnit(const G4String& unit) 121 { 122 if ( multiplyKinE ){ 123 if ( divideByVelocity ){ 124 if ( unit == "" ) { 125 CheckAndSetUnit("MeV_second","EnergyFlux"); 126 } else { 127 CheckAndSetUnit(unit,"EnergyFlux"); 128 } 129 }else { 130 if ( unit == "" ) { 131 CheckAndSetUnit("MeV_mm","EnergyFlow"); 132 } else { 133 CheckAndSetUnit(unit,"EnergyFlow"); 134 } 135 } 136 }else { 137 if ( divideByVelocity ){ 138 if ( unit == "" ) { 139 CheckAndSetUnit("second","Time"); 140 } else { 141 CheckAndSetUnit(unit,"Time"); 142 } 143 }else { 144 if ( unit == "") { 145 CheckAndSetUnit("mm","Length"); 146 } else { 147 CheckAndSetUnit(unit,"Length"); 148 } 149 } 150 } 151 } 152 153 void G4PSTrackLength::DefineUnitAndCategory(){ 154 // EnergyFlux 155 new G4UnitDefinition("eV_second","eV_s","EnergyFlux",(eV*second)); 156 new G4UnitDefinition("keV_second","keV_s","EnergyFlux",(keV*second)); 157 new G4UnitDefinition("MeV_second","MeV_s","EnergyFlux",(MeV*second)); 158 new G4UnitDefinition("eV_millisecond","eV_ms","EnergyFlux",(eV*ms)); 159 new G4UnitDefinition("keV_millisecond","keV_ms","EnergyFlux",(keV*ms)); 160 new G4UnitDefinition("MeV_millisecond","MeV_ms","EnergyFlux",(MeV*ms)); 161 //EnergyFlow 162 new G4UnitDefinition("eV_millimeter","eV_mm","EnergyFlow",(eV*mm)); 163 new G4UnitDefinition("keV_millimeter","keV_mm","EnergyFlow",(keV*mm)); 164 new G4UnitDefinition("MeV_millimeter","MeV_mm","EnergyFlow",(MeV*mm)); 165 new G4UnitDefinition("eV_centimeter","eV_cm","EnergyFlow",(eV*cm)); 166 new G4UnitDefinition("keV_centimeter","keV_cm","EnergyFlow",(keV*cm)); 167 new G4UnitDefinition("MeV_centimeter","MeV_cm","EnergyFlow",(MeV*cm)); 168 new G4UnitDefinition("eV_meter","eV_m","EnergyFlow",(eV*m)); 169 new G4UnitDefinition("keV_meter","keV_m","EnergyFlow",(keV*m)); 170 new G4UnitDefinition("MeV_meter","MeV_m","EnergyFlow",(MeV*m)); 171 } 172 173 174 -
trunk/source/digits_hits/scorer/src/G4PSTrackLength3D.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4PSTrackLength3D.cc,v 1. 3 2007/08/29 06:36:42taso Exp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4PSTrackLength3D.cc,v 1.4 2010/07/22 07:23:45 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4PSTrackLength3D … … 37 37 // 38 38 // Created: 2008-08-14 Tsukasa ASO 39 // 2010-07-22 Introduce Unit specification. 39 40 // 40 41 /////////////////////////////////////////////////////////////////////////////// … … 51 52 } 52 53 54 G4PSTrackLength3D::G4PSTrackLength3D(G4String name,const G4String& unit, 55 G4int ni, G4int nj, G4int nk, 56 G4int depi, G4int depj, G4int depk) 57 :G4PSTrackLength(name), 58 fDepthi(depi),fDepthj(depj),fDepthk(depk) 59 { 60 fNi=ni; 61 fNj=nj; 62 fNk=nk; 63 SetUnit(unit); 64 } 65 53 66 G4PSTrackLength3D::~G4PSTrackLength3D() 54 67 {;} -
trunk/source/digits_hits/scorer/src/G4SDParticleFilter.cc
r1337 r1340 25 25 // 26 26 // 27 // $Id: G4SDParticleFilter.cc,v 1. 1 2007/07/11 01:31:03 asaimExp $28 // GEANT4 tag $Name: geant4-09-04-beta-01$27 // $Id: G4SDParticleFilter.cc,v 1.2 2010/07/23 00:59:58 taso Exp $ 28 // GEANT4 tag $Name: $ 29 29 // 30 30 // G4VSensitiveDetector … … 49 49 { 50 50 thePdef.clear(); 51 theIonZ.clear(); 52 theIonA.clear(); 51 53 } 52 54 … … 66 68 } 67 69 thePdef.push_back(pd); 70 theIonZ.clear(); 71 theIonA.clear(); 68 72 } 69 73 … … 84 88 } 85 89 thePdef.push_back(pd); 90 theIonZ.clear(); 91 theIonA.clear(); 86 92 } 87 93 } … … 89 95 G4SDParticleFilter::G4SDParticleFilter(G4String name, 90 96 const std::vector<G4ParticleDefinition*>& particleDef) 91 :G4VSDFilter(name), thePdef(particleDef)97 :G4VSDFilter(name), thePdef(particleDef) 92 98 { 93 99 for ( size_t i = 0; i < particleDef.size(); i++){ … … 95 101 "NULL pointer is found in the given particleDef vector."); 96 102 } 103 theIonZ.clear(); 104 theIonA.clear(); 97 105 } 98 106 … … 100 108 { 101 109 thePdef.clear(); 102 } 110 theIonZ.clear(); 111 theIonA.clear(); 112 } 103 113 104 114 G4bool G4SDParticleFilter::Accept(const G4Step* aStep) const 105 115 { 116 106 117 for ( size_t i = 0; i < thePdef.size(); i++){ 107 118 if ( thePdef[i] == aStep->GetTrack()->GetDefinition() ) return TRUE; 108 119 } 120 121 // Ions by Z,A 122 for ( size_t i = 0; i < theIonZ.size(); i++){ 123 if ( theIonZ[i] == aStep->GetTrack()->GetDefinition()->GetAtomicNumber() 124 && theIonA[i] == aStep->GetTrack()->GetDefinition()->GetAtomicMass() ){ 125 return TRUE; 126 } 127 } 128 109 129 return FALSE; 110 130 } … … 128 148 } 129 149 150 void G4SDParticleFilter::addIon(G4int Z, G4int A){ 151 for ( size_t i = 0; i < theIonZ.size(); i++){ 152 if ( theIonZ[i] == Z && theIonA[i] == A ){ 153 G4cout << "G4SDParticleFilter:: Ion has been already registered."<<G4endl; 154 return; 155 } 156 } 157 theIonZ.push_back(Z); 158 theIonA.push_back(A); 159 } 160 130 161 void G4SDParticleFilter::show(){ 131 162 G4cout << "----G4SDParticleFileter particle list------"<<G4endl; 132 163 for ( size_t i = 0; i < thePdef.size(); i++){ 133 164 G4cout << thePdef[i]->GetParticleName() << G4endl; 165 } 166 for ( size_t i = 0; i < theIonZ.size(); i++){ 167 G4cout << " Ion PrtclDef (" << theIonZ[i]<<","<<theIonA[i]<<")" 168 << G4endl; 134 169 } 135 170 G4cout << "-------------------------------------------"<<G4endl;
Note:
See TracChangeset
for help on using the changeset viewer.
