X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONClusterInput.h;h=970f48c864b55e237635c65cc8f22e91b29d51bd;hb=bacbe0fdbdcdafc29ed6025ba1e65802e848e2e6;hp=a7e6715b6932e3018577f5047d0063e33add4a52;hpb=e357fc46929913afdb855e79b00204dea00f5278;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONClusterInput.h b/MUON/AliMUONClusterInput.h index a7e6715b693..970f48c864b 100644 --- a/MUON/AliMUONClusterInput.h +++ b/MUON/AliMUONClusterInput.h @@ -3,39 +3,51 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -/*$Id $*/ +/* $Id $*/ +// Revision of includes 07/05/2004 -class TMinuit; -class AliMUONDigit; -class AliMUONRawCluster; -class AliSegmentation; -class AliMUONResponse; +/// \ingroup rec +/// \class AliMUONClusterInput +/// \brief Global data service for hit reconstruction +#include #include // needed for inline function Digit +#include "AliMUONGeometrySegmentation.h" +class TMinuit; + +class AliMUONDigit; +class AliMUONRawCluster; +class AliMUONMathieson; -class AliMUONClusterInput : public TObject { +class AliMUONClusterInput : public TObject +{ public: + virtual ~AliMUONClusterInput(); static AliMUONClusterInput* Instance(); // Configuration - void SetDigits(Int_t chamber, TClonesArray* dig1, TClonesArray* dig2); - void SetDigits(Int_t chamber, TClonesArray* dig); + void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig1, TClonesArray* dig2); + void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig); void SetCluster(AliMUONRawCluster* cluster); // Access functions - Int_t Chamber() {return fChamber;} - AliMUONDigit* Digit(Int_t cath, Int_t i) {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));} - TClonesArray* Digits(Int_t cath) {return fDigits[cath];} - Int_t NDigits(Int_t cath) {return fNDigits[cath];} - AliSegmentation* Segmentation(Int_t cath) {return fSegmentation[cath];} - AliMUONResponse* Response() {return fResponse;} + Int_t Chamber() const {return fChamber;} + AliMUONDigit* Digit(Int_t cath, Int_t i) const {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));} + TClonesArray* Digits(Int_t cath) const {return fDigits[cath];} + Int_t NDigits(Int_t cath) const {return fNDigits[cath];} + AliMUONGeometrySegmentation* Segmentation2(Int_t cath) const {return fSegmentation2[cath];} + + AliMUONMathieson* Mathieson() const {return fgMathieson;} + Float_t ChargeCorrel() const {return fChargeCorrel;} + Int_t DetElemId() const {return fDetElemId;} + // Fitting - TMinuit* Fitter() {return fgMinuit;} + TMinuit* Fitter() const {return fgMinuit;} // Current cluster information - Float_t TotalCharge(Int_t cath) {return fChargeTot[cath];} - Float_t Charge(Int_t dig, Int_t cath) {return fCharge[dig][cath];} - Int_t Ix(Int_t dig, Int_t cath) {return fix[dig][cath];} - Int_t Iy(Int_t dig, Int_t cath) {return fiy[dig][cath];} - Int_t Nmul(Int_t cath) {return fNmul[cath];} + Float_t TotalCharge(Int_t cath) const {return fChargeTot[cath];} + Float_t Charge(Int_t dig, Int_t cath) const {return fCharge[dig][cath];} + Int_t Ix(Int_t dig, Int_t cath) const {return fix[dig][cath];} + Int_t Iy(Int_t dig, Int_t cath) const {return fiy[dig][cath];} + Int_t Nmul(Int_t cath) const {return fNmul[cath];} // Helpers for Fit Float_t DiscrChargeS1(Int_t i,Double_t *par); Float_t DiscrChargeCombiS1(Int_t i,Double_t *par, Int_t cath); @@ -43,14 +55,18 @@ class AliMUONClusterInput : public TObject { Float_t DiscrChargeCombiS2(Int_t i,Double_t *par, Int_t cath); // protected: - AliMUONClusterInput(){;} + AliMUONClusterInput(); + AliMUONClusterInput(const AliMUONClusterInput& clusterInput); + AliMUONClusterInput & operator = (const AliMUONClusterInput& rhs); private: - static AliMUONClusterInput* fgClusterInput; // singleton instance + static AliMUONClusterInput* fgClusterInput; // ! singleton instance + static AliMUONMathieson* fgMathieson; // ! Mathieson + // Digits TClonesArray* fDigits[2]; // ! Array of pointers to digits Int_t fNDigits[2]; // ! Number of digits - AliSegmentation* fSegmentation[2]; // ! Segmentation per cathode - AliMUONResponse* fResponse; // ! Response + AliMUONGeometrySegmentation* fSegmentation2[2]; // ! Geometry Segmentation per cathode + Int_t fNseg; // ! number of cathode planes Int_t fChamber; // ! Current chamber number @@ -63,7 +79,10 @@ class AliMUONClusterInput : public TObject { Float_t fCharge[500][2]; // ! List of charges for current cluster Int_t fChargeTot[2]; // ! Total charge Float_t fQtot[2]; // ! Total charge - Float_t fZ; // ! Current z-position + Float_t fZ; // ! Current z-position + Float_t fChargeCorrel; // ! charge correlation + Int_t fDetElemId; // ! detection elt id + // Fitter static TMinuit* fgMinuit; // ! Fitter ClassDef(AliMUONClusterInput, 0) // Global data service for hit reconstruction