24 #ifndef __GyotoDefs_H_ 25 #define __GyotoDefs_H_ 41 #define sincos(t, s, c) *s=sin(t); *c=cos(t) 44 # define sincos(t, s, c) (undefined) 50 typedef std::vector<double> state_t;
80 #define GYOTO_QUANTITY_NONE 0 83 #define GYOTO_QUANTITY_INTENSITY 1 84 #define GYOTO_QUANTITY_EMISSIONTIME 2 90 #define GYOTO_QUANTITY_MIN_DISTANCE 4 91 #define GYOTO_QUANTITY_FIRST_DMIN 8 93 #define GYOTO_QUANTITY_REDSHIFT 16 99 #define GYOTO_QUANTITY_IMPACTCOORDS 32 100 #define GYOTO_QUANTITY_SPECTRUM 64 102 #define GYOTO_QUANTITY_SPECTRUM_STOKES_Q 128 104 #define GYOTO_QUANTITY_SPECTRUM_STOKES_U 256 106 #define GYOTO_QUANTITY_SPECTRUM_STOKES_V 512 108 #define GYOTO_QUANTITY_BINSPECTRUM 1024 112 #define GYOTO_QUANTITY_USER1 32768 113 #define GYOTO_QUANTITY_USER2 16384 115 #define GYOTO_QUANTITY_USER3 8192 117 #define GYOTO_QUANTITY_USER4 4096 119 #define GYOTO_QUANTITY_USER5 2048 121 #define GYOTO_QUANTITY_SPECTRAL (GYOTO_QUANTITY_SPECTRUM | GYOTO_QUANTITY_SPECTRUM_STOKES_Q | GYOTO_QUANTITY_SPECTRUM_STOKES_U | GYOTO_QUANTITY_SPECTRUM_STOKES_V | GYOTO_QUANTITY_BINSPECTRUM) 123 #define GYOTO_QUANTITY_SPECTRUM_STOKES (GYOTO_QUANTITY_SPECTRUM | GYOTO_QUANTITY_SPECTRUM_STOKES_Q | GYOTO_QUANTITY_SPECTRUM_STOKES_U | GYOTO_QUANTITY_SPECTRUM_STOKES_V) 145 #define GYOTO_DEFAULT_DEBUG_MODE 0 153 #define GYOTO_QUIET_VERBOSITY 1 162 #define GYOTO_SEVERE_VERBOSITY 3 171 #define GYOTO_WARNING_VERBOSITY GYOTO_SEVERE_VERBOSITY 180 #define GYOTO_DEFAULT_VERBOSITY 5 189 #define GYOTO_INFO_VERBOSITY 10 199 #define GYOTO_DEBUG_VERBOSITY 3000 211 #define GYOTO_QUIET if (Gyoto::verbose() >= GYOTO_QUIET_VERBOSITY) std::cout 219 #define GYOTO_SEVERE if(Gyoto::verbose()>=GYOTO_SEVERE_VERBOSITY) std::cerr<<"SEVERE: " 227 #define GYOTO_WARNING if(Gyoto::verbose()>=GYOTO_SEVERE_VERBOSITY) std::cerr<<"WARNING: " 238 #define GYOTO_MSG if (Gyoto::verbose() >= GYOTO_DEFAULT_VERBOSITY) std::cout 249 #define GYOTO_INFO if (Gyoto::verbose() >= GYOTO_INFO_VERBOSITY) std::cerr<<"INFO: " 259 #define GYOTO_WARNING_UDUNITS(from, to) \ 260 GYOTO_WARNING << "unit ignored (trying to convert from \"" << from \ 263 << "\"), you may have more chance recompiling Gyoto with --with-udunits\n" 278 #define GYOTO_DEBUG_EXPR(a) GYOTO_DEBUG << #a << "=" << a << std::endl 292 #define GYOTO_DEBUG_THIS_EXPR(a) GYOTO_DEBUG_THIS << #a << "=" << a << std::endl 311 #define GYOTO_DEBUG_ARRAY(a,n) if (GYOTO_DEBUG_MODE) { \ 312 std::cerr << "DEBUG: " << __PRETTY_FUNCTION__ << ": " \ 313 << #a << "=[" << a[0] ; \ 314 for (size_t _gyoto_debug_array_i=1; _gyoto_debug_array_i < n; ++_gyoto_debug_array_i) \ 315 std::cerr << "," << a[_gyoto_debug_array_i] ; \ 316 std::cerr << "]" << std::endl ;} 327 #define GYOTO_DEBUG_THIS std::cerr << "DEBUG: " << __PRETTY_FUNCTION__ << ": " 339 #define GYOTO_DEBUG if (GYOTO_DEBUG_MODE) GYOTO_DEBUG_THIS 346 #define GYOTO_IF_DEBUG if (GYOTO_DEBUG_MODE) { 353 #define GYOTO_ENDIF_DEBUG } 356 #define GYOTO_DEBUG_MODE Gyoto::debug() 373 #define GYOTO_COORDKIND_UNSPECIFIED 0 374 #define GYOTO_COORDKIND_CARTESIAN 1 375 #define GYOTO_COORDKIND_SPHERICAL 2 384 #define GYOTO_DEFAULT_X_SIZE 1024 393 #define GYOTO_DEFAULT_DELTA 0.01 398 #define GYOTO_DEFAULT_DELTA_MAX DBL_MAX 403 #define GYOTO_DEFAULT_DELTA_MIN DBL_MIN 413 #define GYOTO_DEFAULT_DELTA_MAX_OVER_R 1. 415 #define GYOTO_DEFAULT_ABSTOL 1e-6 416 #define GYOTO_DEFAULT_RELTOL 1e-6 421 #define GYOTO_DEFAULT_MAXITER 100000 428 #define GYOTO_T_TOL 1e-4 //1e-7 //1e-4 430 #define GYOTO_KERR_HORIZON_SECURITY 0.01 433 #define GYOTO_SCREEN_DMAX DBL_MAX 437 #define GYOTO_PREC 15 438 #define GYOTO_WIDTH 25 443 #ifndef GYOTO_DEFAULT_PLUGINS 444 #define GYOTO_DEFAULT_PLUGINS "stdplug,nofail:lorene" 447 #ifndef GYOTO_PLUGIN_SFX 448 #define GYOTO_PLUGIN_SFX "so" 457 #define GYOTO_C 299792458. 459 #define GYOTO_C_CGS 2.99792458e10 461 #define GYOTO_C2_CGS 8.98755178736817668096e+20 463 #define GYOTO_C2_CGS_M1 1.1126500560536184087938986e-21 465 #define GYOTO_G 6.67428e-11 467 #define GYOTO_G_CGS 6.67428e-8 469 #define GYOTO_G_OVER_C_SQUARE 7.4261380161175445989e-28 471 #define GYOTO_G_OVER_C_SQUARE_CGS 7.4261380161175445989e-29 473 #define GYOTO_PLANCK 6.62606896e-34 475 #define GYOTO_PLANCK_CGS 6.62606896e-27 477 #define GYOTO_PLANCK_OVER_C_SQUARE 7.3724959997591407964e-51 479 #define GYOTO_BOLTZMANN 1.3806504e-23 481 #define GYOTO_BOLTZMANN_CGS 1.3806504e-16 483 #define GYOTO_STEFANBOLTZMANN_CGS 5.670373e-5 485 #define GYOTO_PLANCK_OVER_BOLTZMANN 4.7992373449498869688e-11 487 #define GYOTO_GAS_CST 8.3144621 489 #define GYOTO_GAS_CST_CGS 8.3144621e7 491 #define GYOTO_AVOGADRO 6.0221413e23 493 #define GYOTO_THOMSON_CGS 6.6524e-25 495 #define GYOTO_ALPHA_F 0.00729927 497 #define GYOTO_PROTON_MASS_CGS 1.67262158e-24 499 #define GYOTO_ELECTRON_MASS_CGS 9.10938188e-28 501 #define GYOTO_ELECTRON_CLASSICAL_RADIUS_CGS 2.8179e-13 503 #define GYOTO_ELEMENTARY_CHARGE_CGS 4.80320427e-10 505 #define GYOTO_EULER_MASCHERONI 0.577216 507 #define GYOTO_ATOMIC_MASS_UNIT_CGS 1.660537781e-24 509 #define GYOTO_INU_CGS_TO_SI 0.001 511 #define GYOTO_JNU_CGS_TO_SI (GYOTO_INU_CGS_TO_SI * 100.) 513 #define GYOTO_ANU_CGS_TO_SI 100. 517 #define GYOTO_SUN_MASS 1.98843e30 518 #define GYOTO_SUN_MASS_CGS 1.98843e33 520 #define GYOTO_SUN_RADIUS 6.955e8 522 #define GYOTO_KPC 3.08568025e19 524 #define GYOTO_ASTRONOMICAL_UNIT 1.49597870700e11 526 #define GYOTO_LIGHT_YEAR 9.4607304725808e15 530 #define GYOTO_RADEG 57.2957795130823 531 #define GYOTO_DEGRAD 0.0174532925199433 533 #define GYOTO_MINRAD 2.908882086657216e-04 535 #define GYOTO_SECRAD 4.848136811095360e-06 537 #define GYOTO_MASRAD 4.848136811095360e-09 539 #define GYOTO_MUASRAD 4.848136811095360e-12 543 #define GYOTO_eV2Hz 2.417989348e+14 551 #define obskind_t unsigned int 553 #define GYOTO_OBSKIND_ATINFINITY 0 555 #define GYOTO_OBSKIND_KEPLERIAN 1 557 #define GYOTO_OBSKIND_ZAMO 2 559 #define GYOTO_OBSKIND_VELOCITYSPECIFIED 3 561 #define GYOTO_OBSKIND_FULLYSPECIFIED 4 566 #define GYOTO_STRINGIFY(a) GYOTO_STRINGIFY_ARGUMENT(a) 569 #define GYOTO_STRINGIFY_ARGUMENT(a) #a 571 #ifndef GYOTO_NO_DEPRECATED 572 #warning Using deprecated method names.\ 573 Define GYOTO_NO_DEPRECATED to disable. 583 # define getMetric metric 584 # define setMetric metric 585 # define setScreen screen 586 # define getScreen screen 587 # define getRmax rMax 588 # define setRmax rMax 589 # define getMass mass 590 # define setMass mass 591 # define getCoordKind coordKind 592 # define setCoordKind coordKind 593 # define getKind kind 594 # define setKind kind 595 # define getSpin spin 596 # define setSpin spin 597 # define getIntegKind integKind 598 # define setIntegKind integKind 599 # define getFileName fileName 600 # define setFileName fileName 601 # define getDistance distance 602 # define setDistance distance 603 # define getPALN PALN 604 # define setPALN PALN 605 # define getArgument argument 606 # define setArgument argument 607 # define getInclination inclination 608 # define setInclination inclination 609 # define getAstrobj astrobj 610 # define setAstrobj astrobj 611 # define getSpectrometer spectrometer 612 # define setSpectrometer spectrometer 613 # define getSpectrum spectrum 614 # define setSpectrum spectrum 615 # define getOpacity opacity 616 # define setOpacity opacity 617 # define setDelta delta 618 # define getDelta delta 619 # define setDelta delta 620 # define getDelta delta 621 # define setDangle2 dangle2 622 # define getDangle2 dangle2 623 # define setDangle1 dangle1 624 # define getDangle1 dangle1 625 # define setAnglekind anglekind 626 # define getTmin tMin 627 # define setTmin tMin 628 # define getTime time 629 # define setTime time 630 # define getFreqObs freqObs 631 # define setFreqObs freqObs 632 # define getFieldOfView fieldOfView 633 # define setFieldOfView fieldOfView 634 # define getRadius radius 635 # define setRadius radius 636 # define getLargeRadius largeRadius 637 # define setLargeRadius largeRadius 638 # define getSmallRadius smallRadius 639 # define setSmallRadius smallRadius 640 # define getCentralDensity centralDensity 641 # define setCentralDensity centralDensity 642 # define getDmax dMax 643 # define setDmax dMax 644 # define getTemperature temperature 645 # define setTemperature temperature 646 # define getScaling scaling 647 # define setScaling scaling 648 # define getPatternVelocity patternVelocity 649 # define setPatternVelocity patternVelocity 650 # define getLambda lambda 651 # define setLambda lambda 652 # define getCentralTempOverVirial centralTempOverVirial 653 # define setCentralTempOverVirial centralTempOverVirial 654 # define getBeta beta 655 # define setBeta beta 656 # define getConstant constant 657 # define setConstant constant 658 # define getExponent exponent 659 # define setExponent exponent 660 # define getFlag_radtransf opticallyThin 661 # define setFlag_radtransf opticallyThin 662 # define getNThreads nThreads 663 # define setNThreads nThreads 664 # define getResolution resolution 665 # define setResolution resolution 666 # define getNSamples nSamples 667 # define setNSamples nSamples 668 # define getSpectralOverSampling spectralOversampling 669 # define setSpectralOverSampling spectralOversampling 670 # define setBinSpectrumConverter binSpectrumConverter 671 # define setSpectrumConverter spectrumConverter 672 # define setIntensityConverter intensityConverter 673 # define getSafetyValue safetyValue; 674 # define setSafetyValue safetyValue; 675 # define setInnerRadius innerRadius; 676 # define getInnerRadius innerRadius; 677 # define setOuterRadius outerRadius; 678 # define getOuterRadius outerRadius; 679 # define setThickness thickness; 680 # define getThickness thickness; 683 # define setBand band; 684 # define setObserverKind observerKind; 685 # define getObserverKind observerKind; unsigned int Verbosity_t
Type for verbosity levels.
Definition: GyotoDefs.h:142
Compile-time configuration.
unsigned int CoordKind_t
Type for coordinate system kinds.
Definition: GyotoDefs.h:372
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
unsigned int Quantity_t
Type for observabke quantities.
Definition: GyotoDefs.h:76