|Message: Re: Scintillation rise time||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
thanks for your reply. The formula is as follows:
exp(-t/tau_d) * (1-exp(-t/tau_r))
where tau_d is the decay time and tau_r is the rise time.
Could something like this be implemented easily?
Martin On Wed, 04 Nov 2009 00:35:56 GMT, Gumplinger Peter wrote:
> Dear Martin, > > > Is this crystal property implemented? > > No, G4Scintillation only calculates an (exponential) 'time delay' and > assumes an instantaneous rise time. And while the routine is set up to > sample from a slow and a fast decay time simulataneously it doesn't > account for a physical finite rise time. The code simply reads: > > deltaTime = deltaTime - ScintillationTime * log( G4UniformRand() ); > > where deltaTime is first set to a random point/time along the step > segment from where the scintillation photon is assumed to have > originated. > > > If not how may I do it? > > I answer this with a question. How would you sample from a convolution > of a finite rise-time with a finite decay time, e.g. a more realistic > time distribution? If you know the code it takes to do that then the > mechanism of introducing a rise-time in the material properties table is > completely analogous to, for example, the "SLOWTIMECONSTANT". The > G4MaterialPropertiesTable class is completely flexible in this. It > simply associates a constant with a (any) character string. In your > DetectorConstruction you assign the rise/decay time, for example: > > G4MaterialPropertiesTable* myMPT = new G4MaterialPropertiesTable(); > > myMPT->AddConstProperty("SLOWTIMECONSTANT",10.*ns); > > myMPT->AddConstProperty("RISETIMECONSTANT",0.5*ns); > > and in G4Scintillation.cc (you need to modify the actual G4 source) you > add code to retrieve this constant: > > G4MaterialPropertiesTable* aMaterialPropertiesTable = > > aMaterial->GetMaterialPropertiesTable(); > > G4double ScintillationRiseTime = aMaterialPropertiesTable-> > > GetConstProperty("RISETIMECONSTANT"); > > And you'd then have to replace the single line: > > ScintillationTime * log( G4UniformRand() ); > > with your more complicated sampling logic. > > Let me know which approach to sampling from a more realistic time > profile, with a rise and decay constant, you are taking. I am open to > improvements of the G4 distribution. > > Best regards, Peter >
|Inline Depth:||Outline Depth:||Add message:|