* 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();
//
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);
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
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