Changeset 668 in Sophya for trunk/SophyaLib/SkyT/specresp.h


Ignore:
Timestamp:
Nov 29, 1999, 3:16:10 PM (26 years ago)
Author:
ansari
Message:

Ajout de classes deleguees PPersist et correction integration - Sophie 29/11/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/SkyT/specresp.h

    r607 r668  
    22//--------------------------------------------------------------------------
    33// File and Version Information:
    4 //      $Id: specresp.h,v 1.2 1999-11-20 21:00:52 ansari Exp $
     4//      $Id: specresp.h,v 1.3 1999-11-29 14:16:08 ansari Exp $
    55//
    66// Description:
     
    1414
    1515#include "machdefs.h"
     16#include "anydataobj.h"
    1617#include <iostream.h>
    17 
    1818//------------------------------------
    1919// Collaborating Class Declarations --
     
    2525
    2626// ***IMPORTANT*** All frequencies are expressed in GHz  (10^9 Hz)
     27namespace SOPHYA {
     28 
     29  class SpectralResponse : public AnyDataObj
     30  {
     31   
     32  public:
     33    //Constructor
     34    SpectralResponse(double numin=0., double numax=1.);
     35   
     36    // destructor
     37    virtual ~SpectralResponse();
     38   
     39    //
     40    //  Member Functions
     41    //
     42   
     43    //  The transmission() function is virtual:
     44    virtual double transmission(double nu) const =0 ;
     45   
     46    inline double operator() (double nu) const { return(transmission(nu)); }
     47   
     48    virtual void      Print(ostream& os)  const;
     49   
     50    virtual double minFreq() const;
     51    virtual double maxFreq() const;
     52    virtual double meanFreq() const;
     53    virtual double peakFreq() const;
     54    virtual double peakTransmission() const;
    2755
    28 class SpectralResponse
    29 {
     56    // For changing the min/max frequency
     57    virtual void   setMinMaxFreq(double numin, double numax);
    3058
    31 public:
    32   //Constructor
    33   SpectralResponse(double numin=0., double numax=1.);
    34 
    35   // destructor
    36   virtual ~SpectralResponse();
    37 
    38   //
    39   //  Member Functions
    40   //
    41 
    42   //  The transmission() function is virtual:
    43   virtual double transmission(double nu) const =0 ;
    44 
    45   inline double operator() (double nu) const { return(transmission(nu)); }
    46 
    47   virtual void      Print(ostream& os)  const;
    48 
    49   virtual double minFreq() const;
    50   virtual double maxFreq() const;
    51   virtual double meanFreq() const;
    52   virtual double peakFreq() const;
    53   virtual double peakTransmission() const;
    54   virtual double IntegratedSpect(double numin, double numax) const ;
    55   virtual double logIntegratedSpect(double numin, double numax) const ;
    56   virtual double IntegratedSpect() const ;
    57   virtual double logIntegratedSpect() const ;
    58 
    59 protected:
    60   double _numin;
    61   double _numax;
     59    virtual double IntegratedSpect(double numin, double numax) const ;
     60    virtual double logIntegratedSpect(double numin, double numax) const ;
     61    virtual double IntegratedSpect() const ;
     62    virtual double logIntegratedSpect() const ;
     63   
     64  protected:
     65    double _numin;
     66    double _numax;
     67  };
     68 
     69 
     70  // definition of the << operator
     71  inline ostream& operator << (ostream& s,  SpectralResponse const & sr)
     72    {  sr.Print(s);  return(s);  }
     73 
     74 
     75 
    6276};
    6377
    64 
    65 // definition of the << operator
    66 inline ostream& operator << (ostream& s,  SpectralResponse const & sr)
    67   {  sr.Print(s);  return(s);  }
     78#endif
    6879
    6980
    70 #endif
     81
     82
Note: See TracChangeset for help on using the changeset viewer.