Message: Problem with readout geometry Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Problem with readout geometry 

Forum: Geometry
Date: 20 Jul, 2009
From: Francisco <Francisco>

I have developed a silicon sensor with an array of 520x520 pixels. The sensor consists of 7 layers. I have used a modification of example TestEm3 and a readout geometry to divide the sensor in pixels (270400) with replicas. I retrieve energy deposited in the sensitive layer (epitaxial) in SteppingAction:

void SteppingAction::UserSteppingAction(const G4Step* aStep)
epitaxial = detector->GetAbsorber(3); (from DetectorConstruction.cc)
...
...
G4VPhysicalVolume* volume = point1->GetTouchableHandle()->GetVolume();
if(volume==epitaxial){
   G4double EdepStep=aStep->GetTotalEnergyDeposited():
   ...
   ...
}

Inside EventAction I have something like:

void EventAction::BeginOfEventAction(const G4Event*)
{
  G4SDManager * SDman = G4SDManager::GetSDMpointer();
  if(epitaxialCollID<0)
  {
    G4String colNam;
    epitaxialCollID = SDman->GetCollectionID(colNam="epiCollection");

  }
 TotalEnergyDeposit = 0.;
}
 ...

void EventAction::EndOfEventAction(const G4Event* evt)
{
 ...

 if(CHC)
  {
    int n_hit = CHC->entries();
    G4double totE = 0.;
    for(int i=0;i<n_hit;i++){
    ...
      totE += (*CHC)[i]->GetEdep();
      copyIDinX = (*CHC)[i]->GetX();
      copyIDinZ = (*CHC)[i]->GetZ();
      ...
      x = ( - NbOfPixelsAlongX + 1+ 2*copyIDinX )* pixelWidth/2; 
      z = ( - NbOfPixelsAlongZ + 1+ 2*copyIDinZ )* pixelWidth/2;
      ...
      fprintf (pFile1, "%d\t%d\t%f\n", copyIDinX, copyIDinZ, totE/keV);
    }
  }

  fprintf (pFile2 "%f\n", TotalEnergyDeposit/keV);
}

The output for the energy deposited per event (pFile2) only in the epitaxial layer (three 1 MeV incident electrons in pixel with coordinates 260x260) is:

6.346 keV, 4.257 keV, 4.346 keV, TOTAL = 14.949 keV

The output for energy deposited per pixel is (pFile1):

260x260 = 2.356 keV, 286x169 = 6.346 keV, 260x260 = 1.912 keV, 230x274 = 4.257 keV, 260x260 = 4.346 keV, TOTAL = 19.217 keV

The problem here is that two scattered electrons are deposing energy in two pixels and this information seems not to be added in the energy deposited per event which gives the total energy deposited in the epitaxial layer. If I do not include the readout geometry I will get 14.949 keV as the total energy deposited. I am not considering the energy deposited in any layer apart from epitaxial, so I do not understand the output, although the image attached is consitent with pFile2, it is not witht pFile1. Coul anyone give me a suggestion? Is it anything I am not considering. Thanks.

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/07/20/13.12-63155-G._Sensor.jpg

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: Problem with readout geometry   (Makoto Asai - 06 Aug, 2009)
(_ Question: Re: Problem with readout geometry   (Francisco - 07 Aug, 2009)
(_ None: Re: Problem with readout geometry   (michel maire - 24 Aug, 2009)
 Add Message Add Message
to: "Problem with readout geometry"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]