1 #ifndef ALIMUONCHAMBER_H
2 #define ALIMUONCHAMBER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONChamber
11 /// \brief MUON tracking chamber class
13 /// Now only providing DisIntegration function
16 #include <TObjArray.h>
18 #include "AliMUONResponse.h"
19 #include "AliMUONGeometrySegmentation.h"
21 class AliMUONClusterFinderVS;
26 class AliMUONChamber : public TObject
30 AliMUONChamber(Int_t id);
31 virtual ~AliMUONChamber();
34 virtual Int_t GetId() const {return fId;}
37 /// Set response model
38 virtual void SetResponseModel(AliMUONResponse* thisResponse) {fResponse=thisResponse;}
40 /// Get pointer to response model
41 virtual AliMUONResponse* &ResponseModel(){return fResponse;}
44 // Member function forwarding to the segmentation and response models
46 /// Calculate pulse height from energy loss
47 virtual Float_t IntPH(Float_t eloss) {return fResponse->IntPH(eloss);}
49 // Initialisation of charge fluctuation for given hit
50 virtual void ChargeCorrelationInit();
52 // Configuration forwarding
54 /// Define signal distribution region
55 /// by number of sigmas of the distribution function
56 virtual void SetSigmaIntegration(Float_t p1)
57 {fResponse->SetSigmaIntegration(p1);}
58 /// Set the single electron pulse-height (ADCchan/e)
59 virtual void SetChargeSlope(Float_t p1) {fResponse->SetChargeSlope(p1);}
60 /// Set width of charge distribution function
61 virtual void SetChargeSpread(Float_t p1, Float_t p2) {fResponse->SetChargeSpread(p1,p2);}
62 /// Set maximum ADC count value
63 virtual void SetMaxAdc(Int_t p1) {fResponse->SetMaxAdc(p1);}
65 // Cluster formation method (charge disintegration)
66 virtual void DisIntegration(AliMUONHit* hit,
67 Int_t& x, Float_t newclust[6][500]);
68 /// Set charge correlation
69 virtual void SetChargeCorrel(Float_t correl) {fResponse->SetChargeCorrel(correl);}
73 AliMUONChamber(const AliMUONChamber & rChamber);
75 AliMUONChamber& operator =(const AliMUONChamber& rhs);
77 Int_t fId; ///< chamber number
78 Float_t fCurrentCorrel; //!< charge correlation for current hit.
80 AliMUONResponse *fResponse; ///< pointer to response
81 AliMUON *fMUON; ///< pointer to MUON
83 ClassDef(AliMUONChamber,3) // Muon tracking chamber class