Index: trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.cc	(revision 3999)
+++ trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.cc	(revision 4050)
@@ -180,5 +180,6 @@
   // de-rotate the source position
   const MAstroSky2Local Observation(eventTime, *fObservatory);
-  Double_t rotationAngle = Observation.RotationAngle(fRA,fDEC);
+  const MAstroSky2Local RefObservation(fRefMJD, *fObservatory);
+  Double_t rotationAngle = Observation.RotationAngle(fRA,fDEC)-RefObservation.RotationAngle(fRA,fDEC);
   
   Float_t c = TMath::Cos(rotationAngle);
Index: trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.h	(revision 3999)
+++ trunk/MagicSoft/Mars/mtemp/mifae/library/MSrcRotate.h	(revision 4050)
@@ -27,12 +27,13 @@
     TString     fDCAName;
 
-    Double_t   fRA;         //  [rad] Right ascention 
-    Double_t   fDEC;        //  [rad] Declination
-    UInt_t     fNEvts;      //  Number of events in file
-    UInt_t     fFirstEvt;   //  Event index for first event in file
-    MTime      fIniTime;    //  Run initial time 
-    MTime      fFinTime;    //  Run final time 
-    Double_t   fDeltaT;     //  DeltaT between two events
-    UInt_t     fRunNumber;  //  Current run number
+    Double_t   fRA;          //  [rad] Right ascention 
+    Double_t   fDEC;         //  [rad] Declination
+    Double_t   fRefMJD;      //  [MJ date] reference time for rotation
+    UInt_t     fNEvts;       //  Number of events in file
+    UInt_t     fFirstEvt;    //  Event index for first event in file
+    MTime      fIniTime;     //  Run initial time 
+    MTime      fFinTime;     //  Run final time 
+    Double_t   fDeltaT;      //  DeltaT between two events
+    UInt_t     fRunNumber;   //  Current run number
 
     Int_t PreProcess(MParList *plist);
@@ -43,5 +44,5 @@
 	       const char* name=NULL, const char* title=NULL);
 
-    void SetRAandDEC(Double_t ra, Double_t dec) {fRA=ra;fDEC=dec;};
+    void SetRAandDECandRefMJD(Double_t ra, Double_t dec, Double_t ref) {fRA=ra;fDEC=dec;fRefMJD=ref;}
 
     ClassDef(MSrcRotate, 0) // task to rotate the position of the source as a function of Azimuth and Zenith angles
