Message: Parameterized volume and its mother volume Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Parameterized volume and its mother volume 

Keywords: parameterized volume
Forum: Geometry
Date: 08 Feb, 2008
From: roccaz <jerome.roccaz@cea.fr>

Hi everyone!

I have a little trouble while growing the length of a simulated germanium crystal. If I visualize teh geometry with OpenGL, things seem OK. But When I start a run, I have this error message :

PANIC! - G4SmartVoxelHeader::BuildNodes()
         Daughter physical volume Cristal
         is entirely outside mother logical volume logicMother !!

*** G4Exception : InvalidSetup
      issued by : G4SmartVoxelHeader::BuildNodes()
Overlapping daughter with mother volume.
*** Fatal Exception *** core dump ***

*** G4Exception: Aborting execution *** Abandon

So I've checked my geomtry to find where my parameterized volume could overlapp its mother. But according to me, it cannot. Here is a part of the code :

void BottomParameterisation::ComputeTransformation (const G4int copyNo, G4VPhysicalVolume* physVol) const
{
  G4double Zposition;
  if(copyNo > 1)
    Zposition= (19.+fSpacing/2.) + (copyNo-2) * fSpacing;// Initial 18.5+fSpacing //50.
  else{
    if(copyNo==0) Zposition=-18.*mm;//Initial -18.*mm //13.5*mm;
    if(copyNo==1) Zposition=5.*mm;//Initial 4.5*mm //36.*mm;
  }
  G4ThreeVector origin(0,0,Zposition);
  physVol->SetTranslation(origin);
}

//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

void BottomParameterisation::ComputeDimensions (G4Tubs& Cercle, const G4int copyNo, const G4VPhysicalVolume*) const
{
  G4double Rbase = 22.5 *mm;
  G4double R = 8. *mm;

  if(copyNo > 1){
  G4double Zposition= (copyNo-2) * fSpacing;
  G4double Rmin = 5.*mm; 
  G4double Rmax = Rbase+sqrt(R*R-Zposition*Zposition);//Rbase+R*cos(Theta); 
  Cercle.SetInnerRadius(Rmin);
  Cercle.SetOuterRadius(Rmax);
  Cercle.SetZHalfLength(fSpacing/2.);
  }
  else {
  if(copyNo==0){
    Cercle.SetInnerRadius(0.*mm);
    Cercle.SetOuterRadius(30.5*mm);
    Cercle.SetZHalfLength(9.*mm); // initial 8.5mm
  }
  if(copyNo==1){
    Cercle.SetInnerRadius(5.*mm);
    Cercle.SetOuterRadius(30.5*mm);
    Cercle.SetZHalfLength(14.*mm); // initial 14mm
  }
  }

The mother volume is a tub with an inner radius of 0mm, an outer radius of 30.5mm and a half length of 27mm. Initially the half length was 26.5mm. I have 802 copies, and fSpacing=0.01mm. The other initial sizes are indicated as comments. What I want to do is to enlarge the length of copyNo=0 of 1mm.

According to my check, I should have an overlapp with the initial values. I tried to reduce the number of copies with the new size values, so to be sure not to overlapp ... but according to GEANT, it still overlapps.

If someone can find where I am wrong ... thanks!

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

1 Angry: Re: Parameterized volume and its mother volume   (roccaz - 08 Feb, 2008)
 Add Message Add Message
to: "Parameterized volume and its mother volume"

 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 ]