]>
Commit | Line | Data |
---|---|---|
a9e2aefa | 1 | #ifndef ALIMUONRESPONSE_H |
2 | #define ALIMUONRESPONSE_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
30178c30 | 7 | // Revision of includes 07/05/2004 |
a9e2aefa | 8 | |
692de412 | 9 | /// \ingroup sim |
10 | /// \class AliMUONResponse | |
11 | /// \brief Chamber response base class | |
12 | ||
885d501b | 13 | #ifndef ROOT_TObject |
14 | #include "TObject.h" | |
15 | #endif | |
a9e2aefa | 16 | |
885d501b | 17 | class AliMUONDigit; |
a713db22 | 18 | class AliMUONGeometrySegmentation; |
885d501b | 19 | class AliMUONHit; |
885d501b | 20 | class TF1; |
21 | class TList; | |
a9e2aefa | 22 | |
30178c30 | 23 | class AliMUONResponse : public TObject |
24 | { | |
a9e2aefa | 25 | public: |
30178c30 | 26 | AliMUONResponse(); |
f29ba3e1 | 27 | virtual ~AliMUONResponse(); |
30178c30 | 28 | |
a9e2aefa | 29 | // |
30 | // Configuration methods | |
31 | // | |
32 | // Set number of sigmas over which cluster disintegration is performed | |
7e4a628d | 33 | virtual void SetSigmaIntegration(Float_t) {return;} |
a9e2aefa | 34 | // Get number of sigmas over which cluster disintegration is performed |
7e4a628d | 35 | virtual Float_t SigmaIntegration() const {return 1.;} |
a9e2aefa | 36 | // Set single electron pulse height (ADCcounts/e) |
7e4a628d | 37 | virtual void SetChargeSlope(Float_t ) {return;} |
a9e2aefa | 38 | // Get single electron pulse height (ADCcounts/e) |
7e4a628d | 39 | virtual Float_t ChargeSlope() const {return 1.;} |
a9e2aefa | 40 | // Set sigmas of the charge spread function |
7e4a628d | 41 | virtual void SetChargeSpread(Float_t , Float_t ) {return;} |
a9e2aefa | 42 | // Get sigma_X of the charge spread function |
7e4a628d | 43 | virtual Float_t ChargeSpreadX() const {return 1.;} |
a9e2aefa | 44 | // Get sigma_Y of the charge spread function |
7e4a628d | 45 | virtual Float_t ChargeSpreadY() const {return 1.;} |
a9e2aefa | 46 | // Set maximum Adc-count value |
7e4a628d | 47 | virtual void SetMaxAdc(Int_t ) {return;} |
a614d271 | 48 | // Set saturation value |
7e4a628d | 49 | virtual void SetSaturation(Int_t ) {return;} |
a9e2aefa | 50 | // Set zero suppression threshold |
7e4a628d | 51 | virtual void SetZeroSuppression(Int_t ) {return;} |
a9e2aefa | 52 | // Get maximum Adc-count value |
7e4a628d | 53 | virtual Int_t MaxAdc() const {return kTRUE;} |
a614d271 | 54 | // Get saturation value |
7e4a628d | 55 | virtual Int_t Saturation() const {return kTRUE;} |
a9e2aefa | 56 | // Get maximum zero suppression threshold |
7e4a628d | 57 | virtual Int_t ZeroSuppression() const {return kTRUE;} |
a9e2aefa | 58 | // Set anode cathode Pitch |
7e4a628d | 59 | virtual void SetPitch(Float_t) {return;} |
a9e2aefa | 60 | // Get anode cathode Pitch |
7e4a628d | 61 | virtual Float_t Pitch() const {return 1.;} |
16d57990 | 62 | // Set the charge correlation |
a713db22 | 63 | virtual void SetChargeCorrel(Float_t) {return;} |
16d57990 | 64 | // Get the charge correlation |
7e4a628d | 65 | virtual Float_t ChargeCorrel() const {return 1.;} |
a9e2aefa | 66 | // |
67 | // Chamber response methods | |
68 | // Pulse height from scored quantity (eloss) | |
85fec35d | 69 | virtual Float_t IntPH(Float_t) const {return 1.;} |
a9e2aefa | 70 | // Charge disintegration |
85fec35d | 71 | virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) const {return 1.;} |
885d501b | 72 | |
73 | /// Go from one hit to several digits, applying charge spreading. | |
74 | virtual void DisIntegrate(const AliMUONHit& hit, TList& digits); | |
75 | ||
a9e2aefa | 76 | // |
77 | ClassDef(AliMUONResponse,1) // Chamber response virtual base class | |
78 | }; | |
79 | #endif | |
80 | ||
81 | ||
82 | ||
83 | ||
84 | ||
85 | ||
86 |