<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=ExN02DetectorConstruction.cc</id>
	<title>ExN02DetectorConstruction.cc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=ExN02DetectorConstruction.cc"/>
	<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=ExN02DetectorConstruction.cc&amp;action=history"/>
	<updated>2026-05-09T23:45:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=ExN02DetectorConstruction.cc&amp;diff=121167&amp;oldid=prev</id>
		<title>Vanwdani: Created page with &quot;&lt;pre&gt; // // ******************************************************************** // * License and Disclaimer                                           * // *...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=ExN02DetectorConstruction.cc&amp;diff=121167&amp;oldid=prev"/>
		<updated>2018-01-23T03:06:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; // // ******************************************************************** // * License and Disclaimer                                           * // *...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// ********************************************************************&lt;br /&gt;
// * License and Disclaimer                                           *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * The  Geant4 software  is  copyright of the Copyright Holders  of *&lt;br /&gt;
// * the Geant4 Collaboration.  It is provided  under  the terms  and *&lt;br /&gt;
// * conditions of the Geant4 Software License,  included in the file *&lt;br /&gt;
// * LICENSE and available at  http://cern.ch/geant4/license .  These *&lt;br /&gt;
// * include a list of copyright holders.                             *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * Neither the authors of this software system, nor their employing *&lt;br /&gt;
// * institutes,nor the agencies providing financial support for this *&lt;br /&gt;
// * work  make  any representation or  warranty, express or implied, *&lt;br /&gt;
// * regarding  this  software system or assume any liability for its *&lt;br /&gt;
// * use.  Please see the license in the file  LICENSE  and URL above *&lt;br /&gt;
// * for the full disclaimer and the limitation of liability.         *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * This  code  implementation is the result of  the  scientific and *&lt;br /&gt;
// * technical work of the GEANT4 collaboration.                      *&lt;br /&gt;
// * By using,  copying,  modifying or  distributing the software (or *&lt;br /&gt;
// * any work based  on the software)  you  agree  to acknowledge its *&lt;br /&gt;
// * use  in  resulting  scientific  publications,  and indicate your *&lt;br /&gt;
// * acceptance of all terms of the Geant4 Software license.          *&lt;br /&gt;
// ********************************************************************&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// $Id: ExN02DetectorConstruction.cc 69899 2013-05-17 10:05:33Z gcosmo $&lt;br /&gt;
//&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... &lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
#include &amp;quot;ExN02DetectorConstruction.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;ExN02DetectorMessenger.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;ExN02ChamberParameterisation.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;ExN02MagneticField.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;ExN02TrackerSD.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4Material.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4Box.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4Sphere.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4EllipticalCone.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4LogicalVolume.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4PVPlacement.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4PVParameterised.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4SDManager.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4GeometryTolerance.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4GeometryManager.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4UserLimits.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4VisAttributes.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4Colour.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4SystemOfUnits.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4ios.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
ExN02DetectorConstruction::ExN02DetectorConstruction()&lt;br /&gt;
:solidWorld(0),  logicWorld(0),  physiWorld(0),&lt;br /&gt;
 solidTarget(0), logicTarget(0), physiTarget(0), &lt;br /&gt;
 solidTracker(0),logicTracker(0),physiTracker(0), &lt;br /&gt;
 solidChamber(0),logicChamber(0),physiChamber(0), &lt;br /&gt;
 TargetMater(0), ChamberMater(0),chamberParam(0),&lt;br /&gt;
 stepLimit(0), fpMagField(0),&lt;br /&gt;
 fWorldLength(0.),  fTargetLength(0.), fTrackerLength(0.),&lt;br /&gt;
 NbOfChambers(0) ,  ChamberWidth(0.),  ChamberSpacing(0.)&lt;br /&gt;
{&lt;br /&gt;
  fpMagField = new ExN02MagneticField();&lt;br /&gt;
  detectorMessenger = new ExN02DetectorMessenger(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
ExN02DetectorConstruction::~ExN02DetectorConstruction()&lt;br /&gt;
{&lt;br /&gt;
  delete fpMagField;&lt;br /&gt;
  delete stepLimit;&lt;br /&gt;
  delete chamberParam;&lt;br /&gt;
  delete detectorMessenger;             &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
G4VPhysicalVolume* ExN02DetectorConstruction::Construct()&lt;br /&gt;
{&lt;br /&gt;
//--------- Material definition ---------&lt;br /&gt;
&lt;br /&gt;
  G4double a, z;&lt;br /&gt;
  G4double density, temperature, pressure;&lt;br /&gt;
  G4int nel;&lt;br /&gt;
&lt;br /&gt;
density=universe_mean_density;&lt;br /&gt;
  temperature=0.1*kelvin;&lt;br /&gt;
  pressure=1.0e-19*pascal;&lt;br /&gt;
&lt;br /&gt;
//New Material&lt;br /&gt;
  G4Material *BadVacuum = new G4Material(&amp;quot;Galactic&amp;quot;,z=1.,a=1.01*g/mole,density,kStateGas,temperature, pressure);&lt;br /&gt;
&lt;br /&gt;
  //Air&lt;br /&gt;
  G4Element* N = new G4Element(&amp;quot;Nitrogen&amp;quot;, &amp;quot;N&amp;quot;, z=7., a= 14.01*g/mole);&lt;br /&gt;
  G4Element* O = new G4Element(&amp;quot;Oxygen&amp;quot;  , &amp;quot;O&amp;quot;, z=8., a= 16.00*g/mole);&lt;br /&gt;
   &lt;br /&gt;
  G4Material* Air = new G4Material(&amp;quot;Air&amp;quot;, density= 1.29*mg/cm3, nel=2);&lt;br /&gt;
  Air-&amp;gt;AddElement(N, 70*perCent);&lt;br /&gt;
  Air-&amp;gt;AddElement(O, 30*perCent);&lt;br /&gt;
&lt;br /&gt;
  //Lead&lt;br /&gt;
  G4Material* Pb = &lt;br /&gt;
  new G4Material(&amp;quot;Lead&amp;quot;, z=82., a= 207.19*g/mole, density= 11.35*g/cm3);&lt;br /&gt;
    &lt;br /&gt;
  //Xenon gas&lt;br /&gt;
/*  G4Material* Xenon = &lt;br /&gt;
  new G4Material(&amp;quot;XenonGas&amp;quot;, z=54., a=131.29*g/mole, density= 5.458*mg/cm3,&lt;br /&gt;
                 kStateGas, temperature= 293.15*kelvin, pressure= 1*atmosphere);&lt;br /&gt;
*/&lt;br /&gt;
  // Print all the materials defined.&lt;br /&gt;
  //&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; G4endl &amp;lt;&amp;lt; &amp;quot;The materials defined are : &amp;quot; &amp;lt;&amp;lt; G4endl &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; *(G4Material::GetMaterialTable()) &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
&lt;br /&gt;
//--------- Sizes of the principal geometrical components (solids)  ---------&lt;br /&gt;
G4double coneRadiusTop = 21.5*mm;&lt;br /&gt;
G4double coneRadiusBot = 149.247*mm;&lt;br /&gt;
G4double semiAxis = (coneRadiusBot-coneRadiusTop)/(1325.9*mm);&lt;br /&gt;
G4cout &amp;lt;&amp;lt; &amp;quot;semiAxis=&amp;quot; &amp;lt;&amp;lt; semiAxis/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
G4double zHeight = (coneRadiusTop+coneRadiusBot)/(2.*semiAxis);&lt;br /&gt;
G4cout &amp;lt;&amp;lt; &amp;quot;zHeight=&amp;quot; &amp;lt;&amp;lt; zHeight/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
&lt;br /&gt;
  NbOfChambers = 1;&lt;br /&gt;
  ChamberWidth = 1.5*cm;&lt;br /&gt;
  ChamberSpacing = 40*cm;&lt;br /&gt;
  &lt;br /&gt;
  fTrackerLength = (NbOfChambers+1)*ChamberSpacing; // Full length of Tracker&lt;br /&gt;
G4cout &amp;lt;&amp;lt; G4endl &amp;lt;&amp;lt; &amp;quot;Full length of Tracker=&amp;quot; &amp;lt;&amp;lt; fTrackerLength/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
  fTargetLength  = 132.59*cm;                        // Full length of Target&lt;br /&gt;
  &lt;br /&gt;
  TargetMater  = Pb;&lt;br /&gt;
  ChamberMater = BadVacuum;&lt;br /&gt;
  &lt;br /&gt;
//  fWorldLength= 1.2 *(fTargetLength+fTrackerLength);&lt;br /&gt;
fWorldLength= 400 *cm;   &lt;br /&gt;
  G4double targetSize  = 0.5*fTargetLength;    // Half length of the Target  &lt;br /&gt;
  G4double trackerSize = 0.5*fTrackerLength;   // Half length of the Tracker&lt;br /&gt;
       &lt;br /&gt;
//--------- Definitions of Solids, Logical Volumes, Physical Volumes ---------&lt;br /&gt;
  &lt;br /&gt;
  //------------------------------ &lt;br /&gt;
  // World&lt;br /&gt;
  //------------------------------ &lt;br /&gt;
&lt;br /&gt;
  G4double HalfWorldLength = 0.5*fWorldLength;&lt;br /&gt;
 &lt;br /&gt;
 G4GeometryManager::GetInstance()-&amp;gt;SetWorldMaximumExtent(fWorldLength);&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; &amp;quot;Computed tolerance = &amp;quot;&lt;br /&gt;
         &amp;lt;&amp;lt; G4GeometryTolerance::GetInstance()-&amp;gt;GetSurfaceTolerance()/mm&lt;br /&gt;
         &amp;lt;&amp;lt; &amp;quot; mm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
&lt;br /&gt;
  solidWorld= new G4Box(&amp;quot;world&amp;quot;,HalfWorldLength,HalfWorldLength,HalfWorldLength);&lt;br /&gt;
  logicWorld= new G4LogicalVolume( solidWorld, BadVacuum, &amp;quot;World&amp;quot;, 0, 0, 0);&lt;br /&gt;
  &lt;br /&gt;
  //  Must place the World Physical volume unrotated at (0,0,0).&lt;br /&gt;
  // &lt;br /&gt;
  physiWorld = new G4PVPlacement(0,               // no rotation&lt;br /&gt;
                                 G4ThreeVector(), // at (0,0,0)&lt;br /&gt;
                                 logicWorld,      // its logical volume&lt;br /&gt;
                                 &amp;quot;World&amp;quot;,         // its name&lt;br /&gt;
                                 0,               // its mother  volume&lt;br /&gt;
                                 false,           // no boolean operations&lt;br /&gt;
                                 0);              // copy number&lt;br /&gt;
                                 &lt;br /&gt;
  //------------------------------ &lt;br /&gt;
  // Target&lt;br /&gt;
  //------------------------------&lt;br /&gt;
  &lt;br /&gt;
    G4ThreeVector positionTarget = G4ThreeVector(0,0,-104.295*cm);&lt;br /&gt;
 &lt;br /&gt;
//  solidTarget = new G4Box(&amp;quot;target&amp;quot;,targetSize,targetSize,targetSize);&lt;br /&gt;
  solidTarget = new G4EllipticalCone(&amp;quot;target&amp;quot;,semiAxis,semiAxis,zHeight,targetSize);&lt;br /&gt;
  logicTarget = new G4LogicalVolume(solidTarget,TargetMater,&amp;quot;Target&amp;quot;,0,0,0);&lt;br /&gt;
G4RotationMatrix *ConeFlip = new G4RotationMatrix();&lt;br /&gt;
ConeFlip-&amp;gt;rotateY(180*deg);&lt;br /&gt;
  physiTarget = new G4PVPlacement(ConeFlip,               // no rotation&lt;br /&gt;
                                  positionTarget,  // at (x,y,z)&lt;br /&gt;
                                  logicTarget,     // its logical volume                                  &lt;br /&gt;
                                  &amp;quot;Target&amp;quot;,        // its name&lt;br /&gt;
                                  logicWorld,      // its mother  volume&lt;br /&gt;
                                  false,           // no boolean operations&lt;br /&gt;
                                  0);              // copy number &lt;br /&gt;
&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; &amp;quot;Target is &amp;quot; &amp;lt;&amp;lt; fTargetLength/cm &amp;lt;&amp;lt; &amp;quot; cm of &amp;quot; &lt;br /&gt;
         &amp;lt;&amp;lt; TargetMater-&amp;gt;GetName() &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
&lt;br /&gt;
  //------------------------------ &lt;br /&gt;
  // Tracker&lt;br /&gt;
  //------------------------------&lt;br /&gt;
  &lt;br /&gt;
  G4ThreeVector positionTracker = G4ThreeVector(0,0,-200*cm);&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; &amp;quot;trackerSize= &amp;quot;&amp;lt;&amp;lt; trackerSize/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
  solidTracker = new G4Sphere(&amp;quot;tracker&amp;quot;,200*cm,202*cm,90*degree,180*degree,90*degree,180*degree);&lt;br /&gt;
  logicTracker = new G4LogicalVolume(solidTracker , BadVacuum, &amp;quot;Tracker&amp;quot;,0,0,0);  &lt;br /&gt;
  G4RotationMatrix *SphereFlip = new G4RotationMatrix();&lt;br /&gt;
  SphereFlip-&amp;gt;rotateY(180*deg);&lt;br /&gt;
  physiTracker = new G4PVPlacement(SphereFlip,              // no rotation&lt;br /&gt;
                                  positionTracker, // at (x,y,z)&lt;br /&gt;
                                  logicTracker,    // its logical volume                                  &lt;br /&gt;
                                  &amp;quot;Tracker&amp;quot;,       // its name&lt;br /&gt;
                                  logicWorld,      // its mother  volume&lt;br /&gt;
                                  false,           // no boolean operations&lt;br /&gt;
                                  0);              // copy number &lt;br /&gt;
&lt;br /&gt;
  //------------------------------ &lt;br /&gt;
  // Tracker segments&lt;br /&gt;
  //------------------------------&lt;br /&gt;
  // &lt;br /&gt;
  // An example of Parameterised volumes&lt;br /&gt;
  // dummy values for G4Box -- modified by parameterised volume&lt;br /&gt;
&lt;br /&gt;
  solidChamber = new G4Box(&amp;quot;chamber&amp;quot;, 10*cm, 10*cm, 10*cm); &lt;br /&gt;
  logicChamber = new G4LogicalVolume(solidChamber,BadVacuum,&amp;quot;Chamber&amp;quot;,0,0,0);&lt;br /&gt;
  &lt;br /&gt;
  G4double firstPosition = -trackerSize + 0.5*ChamberWidth;&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; &amp;quot;firstPostion=&amp;quot; &amp;lt;&amp;lt; firstPosition/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
  G4double firstLength = fTrackerLength/2;&lt;br /&gt;
  G4double lastLength  = fTrackerLength;&lt;br /&gt;
   &lt;br /&gt;
  chamberParam = new ExN02ChamberParameterisation(  &lt;br /&gt;
                           NbOfChambers,          // NoChambers &lt;br /&gt;
                           firstPosition,         // Z of center of first &lt;br /&gt;
                           ChamberSpacing,        // Z spacing of centers&lt;br /&gt;
                           ChamberWidth,          // Width Chamber &lt;br /&gt;
                           firstLength,           // lengthInitial &lt;br /&gt;
                           lastLength);           // lengthFinal&lt;br /&gt;
                           &lt;br /&gt;
  // dummy value : kZAxis -- modified by parameterised volume&lt;br /&gt;
  //&lt;br /&gt;
  physiChamber = new G4PVParameterised(&lt;br /&gt;
                            &amp;quot;Chamber&amp;quot;,       // their name&lt;br /&gt;
                            logicChamber,    // their logical volume&lt;br /&gt;
                            logicTracker,    // Mother logical volume&lt;br /&gt;
                            kZAxis,          // Are placed along this axis &lt;br /&gt;
                            NbOfChambers,    // Number of chambers&lt;br /&gt;
                            chamberParam);   // The parametrisation&lt;br /&gt;
&lt;br /&gt;
  G4cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; NbOfChambers &amp;lt;&amp;lt; &amp;quot; chambers in the tracker region. &amp;quot;&lt;br /&gt;
         &amp;lt;&amp;lt; &amp;quot;The chambers are &amp;quot; &amp;lt;&amp;lt; ChamberWidth/mm &amp;lt;&amp;lt; &amp;quot; mm of &amp;quot; &lt;br /&gt;
         &amp;lt;&amp;lt; ChamberMater-&amp;gt;GetName() &amp;lt;&amp;lt; &amp;quot;\n The distance between chamber is &amp;quot;&lt;br /&gt;
         &amp;lt;&amp;lt; ChamberSpacing/cm &amp;lt;&amp;lt; &amp;quot; cm&amp;quot; &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
         &lt;br /&gt;
  //------------------------------------------------ &lt;br /&gt;
  // Sensitive detectors&lt;br /&gt;
  //------------------------------------------------ &lt;br /&gt;
&lt;br /&gt;
  G4SDManager* SDman = G4SDManager::GetSDMpointer();&lt;br /&gt;
&lt;br /&gt;
  G4String trackerChamberSDname = &amp;quot;ExN02/TrackerChamberSD&amp;quot;;&lt;br /&gt;
  ExN02TrackerSD* aTrackerSD = new ExN02TrackerSD( trackerChamberSDname );&lt;br /&gt;
  SDman-&amp;gt;AddNewDetector( aTrackerSD );&lt;br /&gt;
  logicChamber-&amp;gt;SetSensitiveDetector( aTrackerSD );&lt;br /&gt;
&lt;br /&gt;
//--------- Visualization attributes -------------------------------&lt;br /&gt;
&lt;br /&gt;
  G4VisAttributes* BoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));//White&lt;br /&gt;
  logicWorld  -&amp;gt;SetVisAttributes(BoxVisAtt);  &lt;br /&gt;
  G4VisAttributes* ConeVisAtt= new G4VisAttributes(G4Colour(1.0,0.0,0.0));//Red&lt;br /&gt;
  logicTarget -&amp;gt;SetVisAttributes(ConeVisAtt);&lt;br /&gt;
  G4VisAttributes* TrackVisAtt= new G4VisAttributes(G4Colour(0.0,0.0,1.0));//Blue&lt;br /&gt;
  logicTracker-&amp;gt;SetVisAttributes(TrackVisAtt);&lt;br /&gt;
  &lt;br /&gt;
  G4VisAttributes* ChamberVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0));//Yellow&lt;br /&gt;
  logicChamber-&amp;gt;SetVisAttributes(ChamberVisAtt);&lt;br /&gt;
  &lt;br /&gt;
//--------- example of User Limits -------------------------------&lt;br /&gt;
&lt;br /&gt;
  // below is an example of how to set tracking constraints in a given&lt;br /&gt;
  // logical volume(see also in N02PhysicsList how to setup the processes&lt;br /&gt;
  // G4StepLimiter or G4UserSpecialCuts).&lt;br /&gt;
    &lt;br /&gt;
  // Sets a max Step length in the tracker region, with G4StepLimiter&lt;br /&gt;
  //&lt;br /&gt;
  G4double maxStep = 0.05*ChamberWidth;&lt;br /&gt;
  stepLimit = new G4UserLimits(maxStep);&lt;br /&gt;
  logicTracker-&amp;gt;SetUserLimits(stepLimit);&lt;br /&gt;
  &lt;br /&gt;
  // Set additional contraints on the track, with G4UserSpecialCuts&lt;br /&gt;
  //&lt;br /&gt;
  // G4double maxLength = 2*fTrackerLength, maxTime = 0.1*ns, minEkin = 10*MeV;&lt;br /&gt;
  // logicTracker-&amp;gt;SetUserLimits(new G4UserLimits(maxStep,maxLength,maxTime,&lt;br /&gt;
  //                                               minEkin));&lt;br /&gt;
  &lt;br /&gt;
  return physiWorld;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
void ExN02DetectorConstruction::setTargetMaterial(G4String materialName)&lt;br /&gt;
{&lt;br /&gt;
  // search the material by its name &lt;br /&gt;
  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);  &lt;br /&gt;
  if (pttoMaterial)&lt;br /&gt;
     {TargetMater = pttoMaterial;&lt;br /&gt;
      logicTarget-&amp;gt;SetMaterial(pttoMaterial); &lt;br /&gt;
      G4cout &amp;lt;&amp;lt; &amp;quot;\n----&amp;gt; The target is &amp;quot; &amp;lt;&amp;lt; fTargetLength/cm &amp;lt;&amp;lt; &amp;quot; cm of &amp;quot;&lt;br /&gt;
             &amp;lt;&amp;lt; materialName &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
     }             &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void ExN02DetectorConstruction::setChamberMaterial(G4String materialName)&lt;br /&gt;
{&lt;br /&gt;
  // search the material by its name &lt;br /&gt;
  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);  &lt;br /&gt;
  if (pttoMaterial)&lt;br /&gt;
     {ChamberMater = pttoMaterial;&lt;br /&gt;
      logicChamber-&amp;gt;SetMaterial(pttoMaterial); &lt;br /&gt;
      G4cout &amp;lt;&amp;lt; &amp;quot;\n----&amp;gt; The chambers are &amp;quot; &amp;lt;&amp;lt; ChamberWidth/cm &amp;lt;&amp;lt; &amp;quot; cm of &amp;quot;&lt;br /&gt;
             &amp;lt;&amp;lt; materialName &amp;lt;&amp;lt; G4endl;&lt;br /&gt;
     }             &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
 &lt;br /&gt;
void ExN02DetectorConstruction::SetMagField(G4double fieldValue)&lt;br /&gt;
{&lt;br /&gt;
  fpMagField-&amp;gt;SetMagFieldValue(fieldValue);  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void ExN02DetectorConstruction::SetMaxStep(G4double maxStep)&lt;br /&gt;
{&lt;br /&gt;
  if ((stepLimit)&amp;amp;&amp;amp;(maxStep&amp;gt;0.)) stepLimit-&amp;gt;SetMaxAllowedStep(maxStep);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vanwdani</name></author>
	</entry>
</feed>