]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSt1Response.h
Restoring raw data fit from version of 29-Aug-2004
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1Response.h
index dacd2e07210c19346b91f4069508ce488a45ef58..72784e3750e19acbb3f38e0a25f38980d8848a57 100644 (file)
@@ -5,6 +5,7 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+// Revision of includes 07/05/2004
 
 // Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
 //
 // The current pulse height responses do not contain any physics
 
 #include <map>
+#include <string>
 #ifndef __HP_aCC
-  using std::map;
+using std::map;
+using std::string;
 #endif
 
 #include <TString.h>
 #include "AliMUONResponseV0.h"
 #include "AliMUONSt1ElectronicElement.h"
 
-class AliMpPlane;
-class AliMpPlaneSegmentation;
+class AliMpSector;
+class AliMpSectorSegmentation;
 class AliMpZone;
 class AliMpSector;
 class TArrayF;
 class TObjArray;
 class AliMUONSt1ResponseParameter;
+class AliMUONChamber;
 
 class AliMUONSt1Response : public AliMUONResponseV0 
 {
-public:
-    AliMUONSt1Response(Int_t chamber=1);
-    AliMUONSt1Response(const AliMUONSt1Response& rhs);
+  public:
+    AliMUONSt1Response(AliMUONChamber* chamber);
+    AliMUONSt1Response();
     virtual ~AliMUONSt1Response();
     
     //
@@ -51,17 +55,22 @@ public:
     virtual Int_t DigitResponse(Int_t digit,AliMUONTransientDigit* where);
     void PrintStatistics() const;
 
+  protected:
+    AliMUONSt1Response(const AliMUONSt1Response& rhs);
+
+    // operators
+    AliMUONSt1Response& operator=(const AliMUONSt1Response & rhs);
 
-private:
+  private:
     // typedefs
     typedef map<string, AliMUONSt1ResponseParameter*> ParamsMap;
     typedef map<string, TList*>  ListMap;
 
-    // operators
-    AliMUONSt1Response& operator=(const AliMUONSt1Response & rhs);
-
     // private methods
-    AliMpZone* FindZone(AliMpSector* sector,Int_t posId) const; // to be moved in AliMpSector::
+    const AliMUONGeometrySegmentation* GetGeometrySegmentation(Int_t cathod);
+    const AliMpSectorSegmentation*     GetMpSegmentation(Int_t detElemId, Int_t cathod);
+    const AliMpSector*                 GetMpSector(Int_t detElemId, Int_t cathod);
+    AliMpZone* FindZone(const AliMpSector* sector,Int_t posId) const; // to be moved in AliMpSector::
     void ReadFiles();
     void ReadIniFile(Int_t plane,const TString& fileName,Bool_t rdParam,Bool_t rdRegion,Bool_t rdRule);
     void ReadIniFile(Int_t plane);
@@ -102,10 +111,9 @@ private:
     static const TString fgkNofSigmaName ;      // nof sigma name
 
     // data members
-    AliMpPlane* fPlane[2];  // !The mapping planes
-    AliMpPlaneSegmentation* fPlaneSegmentation[2]; // !The mapping plane segmentation
     TString fIniFileName[2];// file names for initialisation of each cathode
-
+    Bool_t  fReadFiles;     // flag to read initalization files only once
+    
     AliMUONSt1ResponseParameter* fDefaultParameters[2][fgkNofZones]; // !Response for each zone
     TList fRulesList[2]; //! list of special rules
 
@@ -113,7 +121,7 @@ private:
     Int_t fCountUnknownZone; // ntimes the DigitResponse was called in an unknown zone
     Int_t fCountUnknownIndices; // ntimes the DigitResponse was called with unknown indices
 
-    Int_t fChamber;                // The chamber number
+    AliMUONChamber* fChamber;   // The MUON chamber
 
     ParamsMap  fParams;    //! internal parameter list
     ListMap    fRegions;   //! internal list of regions