00001 #pragma once 00002 #ifndef DRIFT_H 00003 #define DRIFT_H 00004 00005 #include "../../PartB/yieldCurve.h" 00006 #include "../../PartE/volsurface.h" 00007 #include "../../common/date.h" 00011 class Drift 00012 { 00013 public: 00022 Drift(Date startDate, Real ExpiryInYears,LongNatural& nDates,yieldCurve* pyieldCurve,volsurface* pvolsurface,Real Strike); 00023 00028 Drift(void); 00037 Drift(Date startDate, Real ExpiryInYears,Real rateToMaturity,Real volToMaturity); 00038 00039 ~Drift(); 00041 valarray<Real> GetvDrift(void); 00043 Real GetDriftattimei(LongNatural i); 00045 valarray<LongInteger> GetvDates(void); 00047 LongInteger GetTimeBtwDates(LongNatural i,LongNatural j); 00048 00049 private: 00050 valarray<LongInteger> vDates; 00051 valarray<Real> vDrift; 00052 unsigned long m_nDates; 00053 }; 00054 00055 #endif