Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5241)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5242)
@@ -73,4 +73,21 @@
 using namespace std;
 
+const Float_t MExtractTimeAndCharge::fgLoGainStartShift = -2.8; 
+// --------------------------------------------------------------------------
+//
+// Default constructor. 
+//
+// Sets: 
+// - fLoGainStartShift to fgLoGainStartShift+fgOffsetLoGain
+//
+MExtractTimeAndCharge::MExtractTimeAndCharge(const char *name, const char *title)
+{
+
+  fName  = name  ? name  : "MExtractTimeAndCharge";
+  fTitle = title ? title : "Base class for signal and time extractors";
+  
+  SetLoGainStartShift();
+}
+
 // --------------------------------------------------------------------------
 //
@@ -191,5 +208,5 @@
         {
           fLoGainFirstSave = fLoGainFirst;
-          fLoGainFirst     = (Int_t)(timehi+fOffsetLoGain-3.);
+          fLoGainFirst     = (Int_t)(timehi+fLoGainStartShift);
           fLoGainFirst     = fLoGainFirst < fLoGainFirstSave ? fLoGainFirstSave : fLoGainFirst;
           
@@ -223,2 +240,20 @@
 }
 
+// --------------------------------------------------------------------------
+//
+// In addition to the resources of the base-class MExtractor:
+//   MJPedestal.MExtractor.LoGainStartShift: -2.8
+//
+Int_t MExtractTimeAndCharge::ReadEnv(const TEnv &env, TString prefix, Bool_t print)
+{
+    Bool_t rc = kFALSE;
+
+    if (IsEnvDefined(env, prefix, "LoGainStartShift", print))
+    {
+        fLoGainStartShift = GetEnvValue(env, prefix, "LoGainStartShift", fLoGainStartShift);
+        rc = kTRUE;
+    }
+
+
+    return MExtractTime::ReadEnv(env, prefix, print) ? kTRUE : rc;
+}
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h	(revision 5241)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h	(revision 5242)
@@ -11,6 +11,9 @@
 private:
 
-  Byte_t fLoGainFirstSave;            // First Low-Gain FADC slice obtained by position of high-gain signal
-
+  static const Float_t fgLoGainStartShift; // Default for fLoGainStartShift (now set to: -2.8)
+  
+  Byte_t  fLoGainFirstSave;        // Temporary variable to store the original position of low-gain start slice
+  Float_t fLoGainStartShift;      // Shift to start searching the low-gain signal obtained from the high-gain times.
+  
 protected:
 
@@ -26,6 +29,12 @@
                                        Byte_t &sat, const MPedestalPix &ped, const Bool_t abflag);
 
+  Int_t  ReadEnv(const TEnv &env, TString prefix, Bool_t print);
+  
 public:
 
+  MExtractTimeAndCharge(const char *name=NULL, const char *title=NULL);
+  
+  void SetLoGainStartShift( const Float_t f=fgLoGainStartShift )  { fLoGainStartShift = f + fOffsetLoGain;  }
+  
   ClassDef(MExtractTimeAndCharge, 0)   // Time And Charge Extractor Base Class
 };
