Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5424)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5425)
@@ -20,4 +20,15 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2004/11/18: Markus Gaug
+
+   * msignal/MExtractor.[h,cc]
+     - introduce possibility to choose name of MExtractedSignalCam. Need
+       access to different MExtractedSignalCams for comparative extractor
+       studies. Analogues to MPedestalCam in MPedCalcFromLoGain. Default 
+       is "MExtractedSignalCam", like before. 
+     - set version number by one higher because of new data member 
+       "fNameSignalCam"
+
 
  2004/11/17: Abelardo Moralejo
Index: /trunk/MagicSoft/Mars/msignal/MExtractor.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractor.cc	(revision 5424)
+++ /trunk/MagicSoft/Mars/msignal/MExtractor.cc	(revision 5425)
@@ -98,4 +98,5 @@
 // - fSaturationLimit to fgSaturationLimit
 // - fNamePedestalCam to fgNamePedestalCam
+// - fNameSignalCam to fgNameSignalCam
 // - fNoiseCalculation to kFALSE 
 //
@@ -113,4 +114,5 @@
 
     SetNamePedestalCam();
+    SetNameSignalCam();
     SetOffsetLoGain();
     SetRange();
@@ -160,11 +162,14 @@
     if (!fPedestals)
     {
-        *fLog << err << AddSerialNumber("MPedestalCam") << " not found... aborting" << endl;
+        *fLog << err << fNamePedestalCam.Data() << " not found... aborting" << endl;
         return kFALSE;
     }
 
-    fSignals = (MExtractedSignalCam*)pList->FindCreateObj(AddSerialNumber("MExtractedSignalCam"));
+    fSignals = (MExtractedSignalCam*)pList->FindCreateObj("MExtractedSignalCam",AddSerialNumber(fNameSignalCam));
     if (!fSignals)
+    {
+        *fLog << err << fNameSignalCam.Data() << " could not be found nor created... aborting" << endl;
         return kFALSE;
+    }
 
     return kTRUE;
Index: /trunk/MagicSoft/Mars/msignal/MExtractor.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractor.h	(revision 5424)
+++ /trunk/MagicSoft/Mars/msignal/MExtractor.h	(revision 5425)
@@ -26,5 +26,5 @@
   static const Float_t fgOffsetLoGain;     //! Default for fOffsetLoGain (now set to 1.51 (= 5ns)
   
-  Bool_t  fNoiseCalculation;      // Flag if the extractor is used to determine the noise contribution from a pedestal file.
+  Bool_t  fNoiseCalculation;               // Flag if extractor determines noise contribution from pedestal file.
   
 protected:
@@ -32,6 +32,7 @@
   static const Byte_t  fgSaturationLimit;  //! Default for fSaturationLimit (now set to: 254)
   static const TString fgNamePedestalCam;  //! "MPedestalCam"
-
-  Float_t fOffsetLoGain;                  // Offset of the low-gain signal w.r.t. the High-Gain slices
+  static const TString fgNameSignalCam;    //! "MExtractedSignalCam"
+  
+  Float_t fOffsetLoGain;                   // Offset of the low-gain signal w.r.t. the High-Gain slices
 
   MPedestalCam        *fPedestals;         //! Pedestals of all pixels in the camera
@@ -55,12 +56,13 @@
                                            
   Byte_t   fSaturationLimit;               // Highest FADC slice value until being declared saturated
-  TString  fNamePedestalCam;              // Name of the 'MPedestalCam' container
+  TString  fNamePedestalCam;               // Name of the 'MPedestalCam' container
+  TString  fNameSignalCam;                 // Name of the 'MExtractedSignalCam' container
 
   virtual void FindSignalHiGain(Byte_t *firstused, Byte_t *lowgain, Float_t &sum, Byte_t &sat) const { }
   virtual void FindSignalLoGain(Byte_t *firstused, Float_t &sum, Byte_t &sat) const { }
   
-  Int_t   PreProcess(MParList *pList);
-  Bool_t  ReInit(MParList *pList);
-  Int_t   Process();
+  Int_t   PreProcess( MParList *pList );
+  Bool_t  ReInit    ( MParList *pList );
+  Int_t   Process   ();
   void    StreamPrimitive(ofstream &out) const;
   Int_t   ReadEnv(const TEnv &env, TString prefix, Bool_t print);
@@ -80,12 +82,13 @@
   virtual void SetRange(Byte_t hifirst=0, Byte_t hilast=0, Byte_t lofirst=0, Byte_t lolast=0);
 
-  void SetOffsetLoGain(const Float_t f=fgOffsetLoGain)  { fOffsetLoGain = f; }
-  void SetSaturationLimit(Byte_t lim=fgSaturationLimit) { fSaturationLimit  = lim; }
-  void SetNamePedestalCam(const char *name=fgNamePedestalCam.Data()) { fNamePedestalCam = name; }
-  void SetNoiseCalculation(const Bool_t b=kTRUE)        { fNoiseCalculation = b; }
+  void SetOffsetLoGain    ( const Float_t  f=fgOffsetLoGain          ) { fOffsetLoGain     = f;    }
+  void SetSaturationLimit ( const Byte_t lim=fgSaturationLimit       ) { fSaturationLimit  = lim;  }
+  void SetNamePedestalCam ( const char *name=fgNamePedestalCam.Data()) { fNamePedestalCam  = name; }
+  void SetNameSignalCam   ( const char *name=fgNameSignalCam.Data()  ) { fNameSignalCam    = name; }
+  void SetNoiseCalculation( const Bool_t   b=kTRUE                   ) { fNoiseCalculation = b;    }
 
   void Print(Option_t *o="") const;
 
-  ClassDef(MExtractor, 3) // Signal Extractor Base Class
+  ClassDef(MExtractor, 4) // Signal Extractor Base Class
 };
 
