Change request #1821
Revise spectral model names
Status: | Closed | Start date: | 07/20/2016 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assigned To: | Knödlseder Jürgen | % Done: | 100% | |
Category: | - | |||
Target version: | 1.1.0 | |||
Duration: |
Description
PowerLaw2
that now becomes PowerLawPhotonFlux
. Here an initial proposal, to be discussed of course:
Constant
instead ofConstantValue
PowerLaw
remainsPowerLawPhotonFlux
instead ofPowerLaw2
PowerLawEnergyFlux
remainsBrokenPowerLaw
remainsExponentialCutoffPowerLaw
instead ofExpCutoff
ExponentialInverseCutoffPowerLaw
instead ofExpCutoff2
SuperExponentialCutoffPowerLaw
instead ofPLSuperExpCutoff
Gaussian
remainsLogParabola
remainsFileFunction
remainsNodeFunction
remains
Of course, old names should be supported for legacy.
Recurrence
No recurrence.
History
#1 Updated by Mayer Michael over 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
The revised model names have been implemented, merged into devel