]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSt1Response.h
Transformations for rotated geometry of st345 (Gines)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1Response.h
index 631d9ff5c64cd008ea81ff2198e51840467c8af7..f02bca4499dce9d8cb432a2f3157500d98440355 100644 (file)
@@ -7,17 +7,21 @@
 /* $Id$ */
 // Revision of includes 07/05/2004
 
-// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
-//
-// Class AliMUONSt1Response
-// ----------------------------
-// Response class for station 1 including electronics and detector response. 
-// Individual pedestals or noise levels can be controlled separately. 
-// The current pulse height responses do not contain any physics
+/// \ingroup sim
+/// \class AliMUONSt1Response
+/// \brief Detailed response class for station 1
+///
+/// Response class for station 1 including electronics and detector response. 
+/// Individual pedestals or noise levels can be controlled separately. 
+/// The current pulse height responses do not contain any physics
+///
+/// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
 
 #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(Int_t chamberId);
+    AliMUONSt1Response();
     virtual ~AliMUONSt1Response();
     
     //
@@ -63,7 +69,10 @@ class AliMUONSt1Response : public AliMUONResponseV0
     typedef map<string, TList*>  ListMap;
 
     // 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);
@@ -104,10 +113,9 @@ class AliMUONSt1Response : public AliMUONResponseV0
     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
 
@@ -115,7 +123,7 @@ class AliMUONSt1Response : public AliMUONResponseV0
     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
+    Int_t      fChamberId; // The MUON chamber Id
 
     ParamsMap  fParams;    //! internal parameter list
     ListMap    fRegions;   //! internal list of regions