32 #include "B2TrackerSD.hh"
63 fLogicTarget(NULL), fLogicChamber(NULL),
64 fTargetMaterial(NULL), fChamberMaterial(NULL),
130 G4double worldLength = 1.2 * (2*targetLength + trackerLength);
132 G4double targetRadius = 0.5*targetLength;
133 targetLength = 0.5*targetLength;
134 G4double trackerSize = 0.5*trackerLength;
142 G4cout <<
"Computed tolerance = "
148 worldLength/2,worldLength/2,worldLength/2);
173 =
new G4Tubs(
"target",0.,targetRadius,targetLength,0.*
deg,360.*
deg);
185 G4cout <<
"Target is " << 2*targetLength/
cm <<
" cm of "
193 =
new G4Tubs(
"tracker",0,trackerSize,trackerSize, 0.*
deg, 360.*
deg);
218 <<
"The chambers are " << chamberWidth/
cm <<
" cm of "
220 <<
"The distance between chamber is " << chamberSpacing/
cm <<
" cm"
223 G4double firstPosition = -trackerSize + chamberSpacing;
224 G4double firstLength = trackerLength/10;
225 G4double lastLength = trackerLength;
227 G4double halfWidth = 0.5*chamberWidth;
228 G4double rmaxFirst = 0.5 * firstLength;
233 if (chamberSpacing < chamberWidth) {
234 G4Exception(
"B2aDetectorConstruction::DefineVolumes()",
242 G4double Zposition = firstPosition + copyNo * chamberSpacing;
246 =
new G4Tubs(
"Chamber_solid", 0, rmax, halfWidth, 0.*
deg, 360.*
deg);
271 G4double maxStep = 0.5*chamberWidth;
294 G4String trackerChamberSDname =
"B2/TrackerChamberSD";
296 "TrackerHitsCollection");
323 if ( pttoMaterial ) {
328 <<
"----> The target is made of " << materialName <<
G4endl;
332 <<
"--> WARNING from SetTargetMaterial : "
333 << materialName <<
" not found" <<
G4endl;
348 if ( pttoMaterial ) {
356 <<
"----> The chambers are made of " << materialName <<
G4endl;
360 <<
"--> WARNING from SetChamberMaterial : "
361 << materialName <<
" not found" <<
G4endl;