Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h	(revision 5793)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h	(revision 5794)
@@ -21,7 +21,9 @@
   static const Byte_t  fgLoGainLast;     //! Default for fLoGainLast   (now set to: 14)
   static const Float_t fgResolution;     //! Default for fResolution   (now set to: 0.003)
-  static const Float_t fgRiseTime;       //! Default for fRiseTime     (now set to: 1.5)
-  static const Float_t fgFallTime;       //! Default for fFallTime     (now set to: 4.5)
-
+  static const Float_t fgRiseTimeHiGain; //! Default for fRiseTime     (now set to: 1.5)
+  static const Float_t fgFallTimeHiGain; //! Default for fFallTime     (now set to: 4.5)
+  static const Float_t fgLoGainStretch;  //! Default for fLoGainStretch (now set to: 1.5)
+  static const Float_t fgOffsetLoGain;   //! Default for fOffsetLoGain (now set to 1.2)
+  
   MArrayF fHiGainSignal;                //! Need fast access to the signals in a float way
   MArrayF fLoGainSignal;                //! Store them in separate arrays
@@ -31,15 +33,20 @@
   MArrayF fLoGainSecondDeriv;           //! Low-gain discretized second derivatives
 
-  Float_t fAbMax;                        //! Current maximum of the spline
-  Float_t fAbMaxPos;                     //! Current position of the maximum of the spline
-  Float_t fHalfMax;                      //! Current half maximum of the spline
+  Float_t fAbMax;                       //! Current maximum of the spline
+  Float_t fAbMaxPos;                    //! Current position of the maximum of the spline
+  Float_t fHalfMax;                     //! Current half maximum of the spline
 
-  Float_t fResolution;                   // The time resolution in FADC units
-  Float_t fRiseTime;                     // The usual rise time of the pulse
-  Float_t fFallTime;                     // The usual fall time of the pulse
+  Float_t fResolution;                  // The time resolution in FADC units
 
-  Int_t   fRandomIter;                   // Counter used to randomize weights for noise calculation
+  Float_t fRiseTimeHiGain;              // The usual rise time of the pulse in the high-gain
+  Float_t fFallTimeHiGain;              // The usual fall time of the pulse in the high-gain
+  Float_t fRiseTimeLoGain;              //! The usual rise time of the pulse in the low-gain
+  Float_t fFallTimeLoGain;              //! The usual fall time of the pulse in the low-gain
+
+  Float_t fLoGainStretch;               // The stretch of the low-gain w.r.t. the high-gain pulse
+
+  Int_t   fRandomIter;                  // Counter used to randomize weights for noise calculation
   
-  Byte_t  fFlags;                        // Bit-field to hold the time extraction types
+  Byte_t  fFlags;                       // Bit-field to hold the time extraction types
   
   Int_t  ReadEnv(const TEnv &env, TString prefix, Bool_t print);
@@ -64,12 +71,13 @@
   ~MExtractTimeAndChargeSpline() {}
 
-  Float_t GetRiseTime() const { return fRiseTime; }
-  Float_t GetFallTime() const { return fFallTime; }
+  Float_t GetRiseTimeHiGain() const { return fRiseTimeHiGain; }
+  Float_t GetFallTimeHiGain() const { return fFallTimeHiGain; }
 
   void SetRange      ( Byte_t hifirst=0, Byte_t hilast=0, Byte_t lofirst=0, Byte_t lolast=0 );  
   void SetResolution ( const Float_t f=fgResolution  )  { fResolution  = f;  }
-  void SetRiseTime   ( const Float_t f=fgRiseTime    )  { fRiseTime    = f;  }
-  void SetFallTime   ( const Float_t f=fgFallTime    )  { fFallTime    = f;  }
-
+  void SetRiseTimeHiGain( const Float_t f=fgRiseTimeHiGain    )  { fRiseTimeHiGain = f;  }
+  void SetFallTimeHiGain( const Float_t f=fgFallTimeHiGain    )  { fFallTimeHiGain = f;  }
+  void SetLoGainStretch ( const Float_t f=fgLoGainStretch    )  { fLoGainStretch = f;   }
+  
   void SetChargeType ( const ExtractionType_t typ=kAmplitude);
   
@@ -81,5 +89,5 @@
                                Byte_t &sat, const MPedestalPix &ped, const Bool_t abflag);
 
-  ClassDef(MExtractTimeAndChargeSpline, 1)   // Task to Extract Arrival Times and Charges using a Fast Cubic Spline
+  ClassDef(MExtractTimeAndChargeSpline, 2)   // Task to Extract Arrival Times and Charges using a Fast Cubic Spline
 };
 
