]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONResponse.h
New version of SPD raw-data reconstruction. The format now correponds to the actual...
[u/mrichter/AliRoot.git] / MUON / AliMUONResponse.h
CommitLineData
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 17class AliMUONDigit;
a713db22 18class AliMUONGeometrySegmentation;
885d501b 19class AliMUONHit;
885d501b 20class TF1;
21class TList;
a9e2aefa 22
30178c30 23class 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