Message: wrapped cerenkov Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question wrapped cerenkov 

Forum: Geometry
Date: 11 Oct, 2005
From: andreas battaglia <andreas.battaglia@roma1.infn.it>

I'm trying to simulate a cerenkov counter wrapped with some material.

With example NO6's help, I've already simulated a leadglass (PbGl) cerenkov 
counter without wrapping surrounded by air; this should be my code:


// ------------ Generate & Add Material Properties Table ------------

  const G4int nEntries = ...;
  G4double PhotonEnergy[nEntries] = { ... };
  
//
// LeadGlass
//	      
  G4double RefractiveIndex1[nEntries] = { ... };
  G4double Absorption1[nEntries] = { ... };   
  G4double ScintilFast[nEntries] = { ... };            
  G4double ScintilSlow[nEntries] = { ... };
            

  G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable();
  myMPT1->AddProperty("RINDEX",PhotonEnergy, RefractiveIndex1, nEntries);
  myMPT1->AddProperty("ABSLENGTH",PhotonEnergy, Absorption1, nEntries);
  myMPT1->AddProperty("FASTCOMPONENT",PhotonEnergy, ScintilFast, nEntries);
  myMPT1->AddProperty("SLOWCOMPONENT",PhotonEnergy, ScintilSlow, nEntries);

  myMPT1->AddConstProperty("SCINTILLATIONYIELD", ...);
  myMPT1->AddConstProperty("RESOLUTIONSCALE", ...);
  myMPT1->AddConstProperty("FASTTIMECONSTANT", ...);
  myMPT1->AddConstProperty("SLOWTIMECONSTANT", ...);
  myMPT1->AddConstProperty("YIELDRATIO", ...);
  
  PbGl->SetMaterialPropertiesTable(myMPT1);


// Air

  G4double RefractiveIndex2[nEntries] = { ... };     

  G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable();
  myMPT2->AddProperty("RINDEX",PhotonEnergy, RefractiveIndex2, nEntries);
  
  Air->SetMaterialPropertiesTable(myMPT2);


//	------------- Surfaces --------------

// LeadGlass

  G4OpticalSurface* OpPbGlSurface = new G4OpticalSurface("PbGl");
  OpPbGlSurface->SetType(dielectric_dielectric);
  OpPbGlSurface->SetFinish(ground);
  OpPbGlSurface->SetModel(unified);

  G4LogicalBorderSurface* PbGlSurface = 
                                 new G4LogicalBorderSurface("PbGl",
                                 physiCerenkov,physiWorld,OpPbGlSurface);


  //OpticalPbGlSurface 
  
  const G4int num = ...;
  G4double Ephoton[num] = { ... };  
  G4double RefractiveIndex[num] = { ... };
  G4double SpecularLobe[num]    = { ... };
  G4double SpecularSpike[num]   = { ... };
  G4double Backscatter[num]     = { ... };

  G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable();
  
  myST1->AddProperty("RINDEX",                Ephoton, RefractiveIndex, num);
  myST1->AddProperty("SPECULARLOBECONSTANT",  Ephoton, SpecularLobe,    num);
  myST1->AddProperty("SPECULARSPIKECONSTANT", Ephoton, SpecularSpike,   num);
  myST1->AddProperty("BACKSCATTERCONSTANT",   Ephoton, Backscatter,     num);

  OpPbGlSurface->SetMaterialPropertiesTable(myST1);



Now I'd like to add the wrapping; could you please help me ?

(I've read the documentation in the user develope manual and the Levin and Moisan's
article:"A More Physical Approach to Model the Surface Treatment of Scintillation
Counters and its Implementation into DETECT" , about the unified model.
I think I have understood that is possible to add a reflective coat or a painting
by specifying its refractive index and perhaps using "groundfrontpaint" 
or "groundbackpaint" (which is the difference in my case?) finish.
But actually I don't know how!!!)


Thanks a lot

Andreas

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

1 Feedback: Re: wrapped cerenkov   (Peter Gumplinger - 17 Oct, 2005)
(_ Disagree: Re: wrapped cerenkov   (Peter Gumplinger - 31 Jul, 2006)
 Add Message Add Message
to: "wrapped cerenkov"

 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 ]