]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1Response.h
Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1Response.h
CommitLineData
ba030c0e 1#ifndef ALI_MUON_ST1_RESPONSE_H
2#define ALI_MUON_ST1_RESPONSE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
10//
11// Class AliMUONSt1Response
12// ----------------------------
13// Response class for station 1 including electronics and detector response.
14// Individual pedestals or noise levels can be controlled separately.
15// The current pulse height responses do not contain any physics
16
ba030c0e 17#include <TString.h>
18#include <TList.h>
19#include "AliMUONResponseV0.h"
5f91c9e8 20#include "AliMUONSt1Types.h"
ba030c0e 21#include "AliMUONSt1ElectronicElement.h"
22
5f91c9e8 23class AliMpPlane;
24class AliMpPlaneSegmentation;
25class AliMpZone;
26class AliMpSector;
ba030c0e 27class TArrayF;
28class TObjArray;
29class AliMUONSt1ResponseParameter;
30
31class AliMUONSt1Response : public AliMUONResponseV0
32{
33public:
34 AliMUONSt1Response(Int_t chamber=1);
35 virtual ~AliMUONSt1Response();
36
37 //
38 // Configuration methods
39 //
40 void SetIniFileName(Int_t plane,const TString& fileName);
41
42 virtual Float_t IntPH(Float_t eloss);
43
44 // Noise, zero-suppression, adc saturation
45 virtual Int_t DigitResponse(Int_t digit,AliMUONTransientDigit* where);
46 void PrintStatistics() const;
47
48
74d70ece 49private:
5f91c9e8 50 //private constants
ba030c0e 51 static const Int_t fgkNofZones=4;
74d70ece 52 static const TString fgkTopDir;
53 static const TString fgkDataDir;
ba030c0e 54 static const TString fgkConfigBaseName;
74d70ece 55 static const TString fgkStandardIniFileName;
ba030c0e 56
57 // static names
58 static const TString fgkBaseName ;
59 static const TString fgkIncludeName ;
60 static const TString fgkParameterName ;
61 static const TString fgkRegionName ;
62 static const TString fgkRuleName ;
63 static const TString fgkNameName ;
64 static const TString fgkPedestalName ;
65 static const TString fgkNoiseName ;
66 static const TString fgkStateName ;
67 static const TString fgkMName ;
68 static const TString fgkMGName ;
69 static const TString fgkMGCName ;
70 static const TString fgkIJName ;
71 static const TString fgkXYName ;
72 static const TString fgkZoneName ;
73 static const TString fgkStickyOnName ;
74 static const TString fgkStickyOffName ;
75 static const TString fgkFileName ;
76 static const TString fgkValueName ;
77 static const TString fgkGausName ;
78 static const TString fgkNotName ;
79 static const TString fgkNofSigmaName ;
80
81 //protected methods
5f91c9e8 82 AliMpZone* FindZone(AliMpSector* sector,Int_t posId); // to be moved in AliMpSector::
ba030c0e 83 void ReadFiles();
84 void ReadIniFile(Int_t plane,const TString& fileName,Bool_t rdParam,Bool_t rdRegion,Bool_t rdRule);
85 void ReadIniFile(Int_t plane);
86 void ReadCouplesOfIntRanges(const string& value,TList* list,AliMUONSt1ElectronicElement::TDescription descr);
87 void ReadCouplesOfFloatRanges(const string& value,TList* list);
88 void SetPairToParam(const string& name,const string& value,AliMUONSt1ResponseParameter* param) const;
89 void SetPairToListElem(const string& name,const string& value,TList* list);
90
91
92 //data members
5f91c9e8 93 AliMpPlane* fPlane[2]; // !The mapping planes
94 AliMpPlaneSegmentation* fPlaneSegmentation[2]; // !The mapping plane segmentation
ba030c0e 95 TString fIniFileName[2];// file names for initialisation of each cathode
96
97 AliMUONSt1ResponseParameter* fDefaultParameters[2][fgkNofZones]; // !Response for each zone
98 TList fRulesList[2]; //! list of special rules
99
100 Int_t fCountNofCalls; // number of calls to DigitResponse()
101 Int_t fCountUnknownZone; // ntimes the DigitResponse was called in an unknown zone
102 Int_t fCountUnknownIndices; // ntimes the DigitResponse was called with unknown indices
103
104 Int_t fChamber; // The chamber number
105
106 TParamsMap fParams; //! internal parameter list
107 TListMap fRegions; //! internal list of regions
108 TList fTrashList; //!internal trash list
109
110 ClassDef(AliMUONSt1Response,1) // Overall detector response
111};
112
113#endif //ALI_MUON_ST1_RESPONSE_H