X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONResponse.h;h=76d52f5b6bf7db2326c86443b1432dd95484028e;hb=b8af11af6bf2b4f907675455f265b732ffb31dc2;hp=75c6c262d53c537e09cc2289381ddee8097ef360;hpb=16d579906634340868d62957f52daf59a4f8d8a9;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONResponse.h b/MUON/AliMUONResponse.h index 75c6c262d53..76d52f5b6bf 100644 --- a/MUON/AliMUONResponse.h +++ b/MUON/AliMUONResponse.h @@ -4,57 +4,75 @@ * See cxx source for full Copyright notice */ /* $Id$ */ +// Revision of includes 07/05/2004 +/// \ingroup sim +/// \class AliMUONResponse +/// \brief Chamber response base class + +#ifndef ROOT_TObject #include "TObject.h" +#endif +class AliMUONDigit; +class AliMUONGeometrySegmentation; +class AliMUONHit; class TF1; -class AliSegmentation; +class TList; - -class AliMUONResponse : -public TObject { +class AliMUONResponse : public TObject +{ public: + AliMUONResponse(); + virtual ~AliMUONResponse(); + // // Configuration methods // - // Set number of sigmas over which cluster disintegration is performed - virtual void SetSigmaIntegration(Float_t p1) =0; - // Get number of sigmas over which cluster disintegration is performed - virtual Float_t SigmaIntegration() =0; - // Set single electron pulse height (ADCcounts/e) - virtual void SetChargeSlope(Float_t p1) =0; - // Get single electron pulse height (ADCcounts/e) - virtual Float_t ChargeSlope() =0; - // Set sigmas of the charge spread function - virtual void SetChargeSpread(Float_t p1, Float_t p2) =0; - // Get sigma_X of the charge spread function - virtual Float_t ChargeSpreadX() =0; - // Get sigma_Y of the charge spread function - virtual Float_t ChargeSpreadY() =0; - // Set maximum Adc-count value - virtual void SetMaxAdc(Int_t p1) =0; - // Set zero suppression threshold - virtual void SetZeroSuppression(Int_t val) =0; - // Get maximum Adc-count value - virtual Int_t MaxAdc() =0; - // Get maximum zero suppression threshold - virtual Int_t ZeroSuppression() =0; - // Set anode cathode Pitch - virtual void SetPitch(Float_t) =0; - // Get anode cathode Pitch - virtual Float_t Pitch() =0; - // Set the charge correlation - virtual void SetChargeCorrel(Float_t correl) =0; - // Get the charge correlation - virtual Float_t ChargeCorrel() =0; - // + /// Set number of sigmas over which cluster disintegration is performed (dummy) + virtual void SetSigmaIntegration(Float_t) {return;} + /// Get number of sigmas over which cluster disintegration is performed (dummy) + virtual Float_t SigmaIntegration() const {return 1.;} + /// Set single electron pulse height (ADCcounts/e) (dummy) + virtual void SetChargeSlope(Float_t ) {return;} + /// Get single electron pulse height (ADCcounts/e) (dummy) + virtual Float_t ChargeSlope() const {return 1.;} + /// Set sigmas of the charge spread function (dummy) + virtual void SetChargeSpread(Float_t , Float_t ) {return;} + /// Get sigma_X of the charge spread function (dummy) + virtual Float_t ChargeSpreadX() const {return 1.;} + /// Get sigma_Y of the charge spread function (dummy) + virtual Float_t ChargeSpreadY() const {return 1.;} + /// Set maximum Adc-count value (dummy) + virtual void SetMaxAdc(Int_t ) {return;} + /// Set saturation value (dummy) + virtual void SetSaturation(Int_t ) {return;} + /// Set zero suppression threshold (dummy) + virtual void SetZeroSuppression(Int_t ) {return;} + /// Get maximum Adc-count value (dummy) + virtual Int_t MaxAdc() const {return kTRUE;} + /// Get saturation value (dummy) + virtual Int_t Saturation() const {return kTRUE;} + /// Get maximum zero suppression threshold (dummy) + virtual Int_t ZeroSuppression() const {return kTRUE;} + /// Set anode cathode Pitch (dummy) + virtual void SetPitch(Float_t) {return;} + /// Get anode cathode Pitch (dummy) + virtual Float_t Pitch() const {return 1.;} + /// Set the charge correlation (dummy) + virtual void SetChargeCorrel(Float_t) {return;} + /// Get the charge correlation (dummy) + virtual Float_t ChargeCorrel() const {return 1.;} + /// // Chamber response methods - // Pulse height from scored quantity (eloss) - virtual Float_t IntPH(Float_t eloss) =0; - // Charge disintegration - virtual Float_t IntXY(AliSegmentation *) =0; - // Noise, zero-suppression, adc saturation - virtual Int_t DigitResponse(Int_t digit) =0; + /// Pulse height from scored quantity (eloss) (dummy) + virtual Float_t IntPH(Float_t) const {return 1.;} + /// Charge disintegration (dummy) + virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) const {return 1.;} + + //// Go from one hit to several digits, applying charge spreading. + virtual void DisIntegrate(const AliMUONHit& hit, TList& digits); + // ClassDef(AliMUONResponse,1) // Chamber response virtual base class };