Change request #1821
Revise spectral model names
| Status: | Closed | Start date: | 07/20/2016 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned To: | % Done: | 100% | ||
| Category: | - | |||
| Target version: | 1.1.0 | |||
| Duration: |
Description
PowerLaw2 that now becomes PowerLawPhotonFlux. Here an initial proposal, to be discussed of course:
Constantinstead ofConstantValuePowerLawremainsPowerLawPhotonFluxinstead ofPowerLaw2PowerLawEnergyFluxremainsBrokenPowerLawremainsExponentialCutoffPowerLawinstead ofExpCutoffExponentialInverseCutoffPowerLawinstead ofExpCutoff2SuperExponentialCutoffPowerLawinstead ofPLSuperExpCutoffGaussianremainsLogParabolaremainsFileFunctionremainsNodeFunctionremains
Of course, old names should be supported for legacy.
Recurrence
No recurrence.
History
#1
Updated by Mayer Michael over 10 years ago
LogParabola could also be a “CurvedPowerLaw” (which we use in HESS). It might be more meaningful but I have no strong opinion on that.
#2
Updated by Knödlseder Jürgen over 10 years ago
Mayer Michael wrote:
LogParabola could also be a “CurvedPowerLaw” (which we use in HESS). It might be more meaningful but I have no strong opinion on that.
I think that a curved power law is something different (there is no log-term in the exponent, see https://en.wikipedia.org/wiki/Power_law#Curved_power_law).
Log parabola is a well defined term, and also used for example in XSPEC (see https://heasarc.gsfc.nasa.gov/xanadu/xspec/manual/XSmodelLogpar.html).
Which formula are you using in H.E.S.S.?
#3
Updated by Knödlseder Jürgen over 10 years ago
Jean Ballet has proposed in an e-mail exchange to have the same name for example for all PowerLaw or exponential cutoff models, and to make the distinction at the parameter level. I had thought also about this idea, but so far was hesitant because of the implementation issues (we so far have a registry per name type).
One could maybe rearrange the classes with having a “master” class for a model in general, and then classes for each implementation of those. I think we want to keep a class for each implementation to be able to construct a model in Python (or C++). Maybe a logical can be added to the spectral registry that analyses the model parameters to dispatch to the correct spectral class? This is worth some thinking.
#4
Updated by Mayer Michael over 10 years ago
- File CurvedPowerLaw.png added
I think that a curved power law is something different (there is no log-term in the exponent, see https://en.wikipedia.org/wiki/Power_law#Curved_power_law).
Interesting. I wasn’t aware there is a definition on wikipedia. In HESS, we use the attached formula for the “CurvedPowerLaw” model. This is almost the same as in the Fermi ST or in gammalib, however, yet with a another definition of the signs 
HESS CurvedPowerLaw:
#5
Updated by Knödlseder Jürgen over 10 years ago
Knödlseder Jürgen wrote:
Jean Ballet has proposed in an e-mail exchange to have the same name for example for all PowerLaw or exponential cutoff models, and to make the distinction at the parameter level. I had thought also about this idea, but so far was hesitant because of the implementation issues (we so far have a registry per name type).
One could maybe rearrange the classes with having a “master” class for a model in general, and then classes for each implementation of those. I think we want to keep a class for each implementation to be able to construct a model in Python (or C++). Maybe a logical can be added to the spectral registry that analyses the model parameters to dispatch to the correct spectral class? This is worth some thinking.
Extending on that: one possibility could be that the spectral model registry is extended to include in addition to the model type also the model parameters. In that way the XML parser can allocate the appropriate class using the type and the parameters.
#6
Updated by Knödlseder Jürgen over 10 years ago
So the new list of model names could be:
| Type | Classes |
Constant |
GModelSpectralConst |
PowerLaw |
GModelSpectralPlaw, GModelSpectralPlaw2 |
BrokenPowerLaw |
GModelSpectralBrokenPlaw |
ExponentialCutoffPowerLaw |
GModelSpectralExpPlaw, GModelSpectralExpInvPlaw |
SuperExponentialCutoffPowerLaw |
GModelSpectralSuperExpPlaw |
Gaussian |
GModelSpectralGauss |
LogParabola |
GModelSpectralLogParabola |
FileFunction |
GModelSpectralFunc |
NodeFunction |
GModelSpectralNodes |
#7
Updated by Knödlseder Jürgen over 10 years ago
- Assigned To set to Knödlseder Jürgen
- Target version set to 1.1.0
#8
Updated by Knödlseder Jürgen over 10 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
The revised model names have been implemented, merged into devel
