24 #ifndef __GyotoDefs_H_
25 #define __GyotoDefs_H_
40 #define sincos(t, s, c) *s=sin(t); *c=cos(t)
43 # define sincos(t, s, c) (undefined)
77 #define GYOTO_QUANTITY_NONE 0
80 #define GYOTO_QUANTITY_INTENSITY 1
81 #define GYOTO_QUANTITY_EMISSIONTIME 2
87 #define GYOTO_QUANTITY_MIN_DISTANCE 4
88 #define GYOTO_QUANTITY_FIRST_DMIN 8
90 #define GYOTO_QUANTITY_REDSHIFT 16
96 #define GYOTO_QUANTITY_IMPACTCOORDS 32
97 #define GYOTO_QUANTITY_SPECTRUM 512
99 #define GYOTO_QUANTITY_BINSPECTRUM 1024
103 #define GYOTO_QUANTITY_USER1 32768
104 #define GYOTO_QUANTITY_USER2 16384
106 #define GYOTO_QUANTITY_USER3 8192
108 #define GYOTO_QUANTITY_USER4 4096
110 #define GYOTO_QUANTITY_USER5 2048
132 #define GYOTO_DEFAULT_DEBUG_MODE 0
140 #define GYOTO_QUIET_VERBOSITY 1
149 #define GYOTO_SEVERE_VERBOSITY 3
158 #define GYOTO_WARNING_VERBOSITY GYOTO_SEVERE_VERBOSITY
167 #define GYOTO_DEFAULT_VERBOSITY 5
176 #define GYOTO_INFO_VERBOSITY 10
186 #define GYOTO_DEBUG_VERBOSITY 3000
198 #define GYOTO_QUIET if (Gyoto::verbose() >= GYOTO_QUIET_VERBOSITY) std::cout
206 #define GYOTO_SEVERE if(Gyoto::verbose()>=GYOTO_SEVERE_VERBOSITY) std::cerr<<"SEVERE: "
214 #define GYOTO_WARNING if(Gyoto::verbose()>=GYOTO_SEVERE_VERBOSITY) std::cerr<<"WARNING: "
225 #define GYOTO_MSG if (Gyoto::verbose() >= GYOTO_DEFAULT_VERBOSITY) std::cout
236 #define GYOTO_INFO if (Gyoto::verbose() >= GYOTO_INFO_VERBOSITY) std::cerr<<"INFO: "
246 #define GYOTO_WARNING_UDUNITS(from, to) \
247 GYOTO_WARNING << "unit ignored (trying to convert from \"" << from \
250 << "\"), you may have more chance recompiling Gyoto with --with-udunits\n"
265 #define GYOTO_DEBUG_EXPR(a) GYOTO_DEBUG << #a << "=" << a << std::endl
284 #define GYOTO_DEBUG_ARRAY(a,n) if (GYOTO_DEBUG_MODE) { \
285 std::cerr << "DEBUG: " << __PRETTY_FUNCTION__ << ": " \
286 << #a << "=[" << a[0] ; \
287 for (size_t _gyoto_debug_array_i=1; _gyoto_debug_array_i < n; ++_gyoto_debug_array_i) \
288 std::cerr << "," << a[_gyoto_debug_array_i] ; \
289 std::cerr << "]" << std::endl ;}
301 #define GYOTO_DEBUG if (GYOTO_DEBUG_MODE) std::cerr << "DEBUG: " << __PRETTY_FUNCTION__ << ": "
308 #define GYOTO_IF_DEBUG if (GYOTO_DEBUG_MODE) {
315 #define GYOTO_ENDIF_DEBUG }
318 #define GYOTO_DEBUG_MODE Gyoto::debug()
335 #define GYOTO_COORDKIND_UNSPECIFIED 0
336 #define GYOTO_COORDKIND_CARTESIAN 1
337 #define GYOTO_COORDKIND_SPHERICAL 2
346 #define GYOTO_DEFAULT_X_SIZE 1024
355 #define GYOTO_DEFAULT_DELTA 0.01
360 #define GYOTO_DEFAULT_DELTA_MAX DBL_MAX
365 #define GYOTO_DEFAULT_DELTA_MIN DBL_MIN
375 #define GYOTO_DEFAULT_DELTA_MAX_OVER_R 1.
377 #define GYOTO_DEFAULT_ABSTOL 1e-6
378 #define GYOTO_DEFAULT_RELTOL 1e-6
383 #define GYOTO_DEFAULT_MAXITER 100000
390 #define GYOTO_T_TOL 1e-4
392 #define GYOTO_KERR_HORIZON_SECURITY 0.01
395 #define GYOTO_SCREEN_DMAX DBL_MAX
399 #define GYOTO_PREC 15
400 #define GYOTO_WIDTH 25
405 #ifndef GYOTO_DEFAULT_PLUGINS
406 #define GYOTO_DEFAULT_PLUGINS "stdplug,nofail:lorene"
409 #ifndef GYOTO_PLUGIN_SFX
410 #define GYOTO_PLUGIN_SFX "so"
419 #define GYOTO_C 299792458.
421 #define GYOTO_C_CGS 2.99792458e10
423 #define GYOTO_G 6.67428e-11
425 #define GYOTO_G_CGS 6.67428e-8
427 #define GYOTO_G_OVER_C_SQUARE 7.426138e-28
429 #define GYOTO_PLANCK 6.62606896e-34
431 #define GYOTO_PLANCK_CGS 6.62606896e-27
433 #define GYOTO_PLANCK_OVER_C_SQUARE 7.372496e-51
435 #define GYOTO_BOLTZMANN 1.3806504e-23
437 #define GYOTO_BOLTZMANN_CGS 1.3806504e-16
439 #define GYOTO_STEFANBOLTZMANN_CGS 5.670373e-5
441 #define GYOTO_PLANCK_OVER_BOLTZMANN 4.7992373e-11
443 #define GYOTO_GAS_CST 8.3144621
445 #define GYOTO_GAS_CST_CGS 8.3144621e7
447 #define GYOTO_AVOGADRO 6.0221413e23
449 #define GYOTO_THOMSON_CGS 6.6524e-25
451 #define GYOTO_ALPHA_F 0.00729927
453 #define GYOTO_PROTON_MASS_CGS 1.67262158e-24
455 #define GYOTO_ELECTRON_MASS_CGS 9.10938188e-28
457 #define GYOTO_ELECTRON_CLASSICAL_RADIUS_CGS 2.8179e-13
459 #define GYOTO_ELEMENTARY_CHARGE_CGS 4.80320427e-10
461 #define GYOTO_EULER_MASCHERONI 0.577216
463 #define GYOTO_ATOMIC_MASS_UNIT_CGS 1.660537781e-24
465 #define GYOTO_INU_CGS_TO_SI 0.001
469 #define GYOTO_SUN_MASS 1.98843e30
470 #define GYOTO_SUN_MASS_CGS 1.98843e33
472 #define GYOTO_SUN_RADIUS 6.955e8
474 #define GYOTO_KPC 3.08568025e19
476 #define GYOTO_ASTRONOMICAL_UNIT 1.49597870700e11
478 #define GYOTO_LIGHT_YEAR 9.4607304725808e15
482 #define GYOTO_RADEG 57.2957795130823
483 #define GYOTO_DEGRAD 0.0174532925199433
485 #define GYOTO_MINRAD 2.908882086657216e-04
487 #define GYOTO_SECRAD 4.848136811095360e-06
489 #define GYOTO_MASRAD 4.848136811095360e-09
491 #define GYOTO_MUASRAD 4.848136811095360e-12
495 #define GYOTO_eV2Hz 2.417989348e+14
499 #ifndef GYOTO_NO_DEPRECATED
500 #warning Using deprecated method names.\
501 Define GYOTO_NO_DEPRECATED to disable.
511 # define getMetric metric
512 # define setMetric metric
513 # define setScreen screen
514 # define getScreen screen
515 # define getRmax rMax
516 # define setRmax rMax
517 # define getMass mass
518 # define setMass mass
519 # define getCoordKind coordKind
520 # define setCoordKind coordKind
521 # define getKind kind
522 # define setKind kind
523 # define getSpin spin
524 # define setSpin spin
525 # define getIntegKind integKind
526 # define setIntegKind integKind
527 # define getFileName fileName
528 # define setFileName fileName
529 # define getDistance distance
530 # define setDistance distance
531 # define getPALN PALN
532 # define setPALN PALN
533 # define getArgument argument
534 # define setArgument argument
535 # define getInclination inclination
536 # define setInclination inclination
537 # define getAstrobj astrobj
538 # define setAstrobj astrobj
539 # define getSpectrometer spectrometer
540 # define setSpectrometer spectrometer
541 # define getSpectrum spectrum
542 # define setSpectrum spectrum
543 # define getOpacity opacity
544 # define setOpacity opacity
545 # define setDelta delta
546 # define getDelta delta
547 # define setDelta delta
548 # define getDelta delta
549 # define setDelta0 delta0
550 # define getDelta0 delta0
551 # define setAlpha0 alpha0
552 # define getAlpha0 alpha0
553 # define setAnglekind anglekind
554 # define getTmin tMin
555 # define setTmin tMin
556 # define getTime time
557 # define setTime time
558 # define getFreqObs freqObs
559 # define setFreqObs freqObs
560 # define getFieldOfView fieldOfView
561 # define setFieldOfView fieldOfView
562 # define getRadius radius
563 # define setRadius radius
564 # define getLargeRadius largeRadius
565 # define setLargeRadius largeRadius
566 # define getSmallRadius smallRadius
567 # define setSmallRadius smallRadius
568 # define getCentralDensity centralDensity
569 # define setCentralDensity centralDensity
570 # define getDmax dMax
571 # define setDmax dMax
572 # define getTemperature temperature
573 # define setTemperature temperature
574 # define getScaling scaling
575 # define setScaling scaling
576 # define getPatternVelocity patternVelocity
577 # define setPatternVelocity patternVelocity
578 # define getLambda lambda
579 # define setLambda lambda
580 # define getCentralTempOverVirial centralTempOverVirial
581 # define setCentralTempOverVirial centralTempOverVirial
582 # define getBeta beta
583 # define setBeta beta
584 # define getConstant constant
585 # define setConstant constant
586 # define getExponent exponent
587 # define setExponent exponent
588 # define getFlag_radtransf opticallyThin
589 # define setFlag_radtransf opticallyThin
590 # define getNThreads nThreads
591 # define setNThreads nThreads
592 # define getResolution resolution
593 # define setResolution resolution
594 # define getNSamples nSamples
595 # define setNSamples nSamples
596 # define getSpectralOverSampling spectralOversampling
597 # define setSpectralOverSampling spectralOversampling
598 # define setBinSpectrumConverter binSpectrumConverter
599 # define setSpectrumConverter spectrumConverter
600 # define setIntensityConverter intensityConverter
601 # define getSafetyValue safetyValue;
602 # define setSafetyValue safetyValue;
603 # define setInnerRadius innerRadius;
604 # define getInnerRadius innerRadius;
605 # define setOuterRadius outerRadius;
606 # define getOuterRadius outerRadius;
607 # define setThickness thickness;
608 # define getThickness thickness;
611 # define setBand band;
612 # define setObserverKind observerKind;
613 # define getObserverKind observerKind;
unsigned int Verbosity_t
Type for verbosity levels.
Definition: GyotoDefs.h:129
Compile-time configuration.
unsigned int CoordKind_t
Type for coordinate system kinds.
Definition: GyotoDefs.h:334
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
unsigned int Quantity_t
Type for observabke quantities.
Definition: GyotoDefs.h:73