]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONClusterInput.h
Added get functions to access mapping.
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterInput.h
CommitLineData
9825400f 1#ifndef ALIMUONCLUSTERINPUT_H
2#define ALIMUONCLUSTERINPUT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
30178c30 6/* $Id $*/
7// Revision of includes 07/05/2004
8
9#include <TObject.h>
10#include <TClonesArray.h> // needed for inline function Digit
a713db22 11#include "AliMUONGeometrySegmentation.h"
9825400f 12
9825400f 13class TMinuit;
30178c30 14
9825400f 15class AliMUONDigit;
16class AliMUONRawCluster;
a30a000f 17class AliSegmentation;
7e4a628d 18class AliMUONMathieson;
9825400f 19
30178c30 20class AliMUONClusterInput : public TObject
21{
9825400f 22 public:
d4fa40b7 23 virtual ~AliMUONClusterInput();
9825400f 24 static AliMUONClusterInput* Instance();
30aaba74 25// Configuration
a713db22 26 void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig1, TClonesArray* dig2);
27 void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig);
9825400f 28 void SetCluster(AliMUONRawCluster* cluster);
29// Access functions
30178c30 30 Int_t Chamber() const {return fChamber;}
31 AliMUONDigit* Digit(Int_t cath, Int_t i) const {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));}
32 TClonesArray* Digits(Int_t cath) const {return fDigits[cath];}
33 Int_t NDigits(Int_t cath) const {return fNDigits[cath];}
fed772f3 34 AliMUONGeometrySegmentation* Segmentation2(Int_t cath) const {return fSegmentation2[cath];}
35
7e4a628d 36 AliMUONMathieson* Mathieson() const {return fgMathieson;}
37 Float_t ChargeCorrel() const {return fChargeCorrel;}
a713db22 38 Int_t DetElemId() const {return fDetElemId;}
fed772f3 39 Int_t GetSegmentationType() const {return fSegmentationType;}
7e4a628d 40
30aaba74 41// Fitting
30178c30 42 TMinuit* Fitter() const {return fgMinuit;}
30aaba74 43// Current cluster information
30178c30 44 Float_t TotalCharge(Int_t cath) const {return fChargeTot[cath];}
45 Float_t Charge(Int_t dig, Int_t cath) const {return fCharge[dig][cath];}
46 Int_t Ix(Int_t dig, Int_t cath) const {return fix[dig][cath];}
47 Int_t Iy(Int_t dig, Int_t cath) const {return fiy[dig][cath];}
48 Int_t Nmul(Int_t cath) const {return fNmul[cath];}
9825400f 49// Helpers for Fit
50 Float_t DiscrChargeS1(Int_t i,Double_t *par);
51 Float_t DiscrChargeCombiS1(Int_t i,Double_t *par, Int_t cath);
52 Float_t DiscrChargeS2(Int_t i,Double_t *par);
53 Float_t DiscrChargeCombiS2(Int_t i,Double_t *par, Int_t cath);
54//
55 protected:
3f5cf0b3 56 AliMUONClusterInput();
7b4177a6 57 AliMUONClusterInput(const AliMUONClusterInput& clusterInput);
93b6b3c5 58 AliMUONClusterInput & operator = (const AliMUONClusterInput& rhs);
9825400f 59 private:
08a636a8 60 static AliMUONClusterInput* fgClusterInput; // ! singleton instance
7e4a628d 61 static AliMUONMathieson* fgMathieson; // ! Mathieson
62
9825400f 63 // Digits
64 TClonesArray* fDigits[2]; // ! Array of pointers to digits
30aaba74 65 Int_t fNDigits[2]; // ! Number of digits
a713db22 66 AliMUONGeometrySegmentation* fSegmentation2[2]; // ! Geometry Segmentation per cathode
67
9825400f 68 Int_t fNseg; // ! number of cathode planes
30aaba74 69 Int_t fChamber; // ! Current chamber number
70
9825400f 71 // Current cluster
72 AliMUONRawCluster* fCluster; // ! current cluster
73 Int_t fNmul[2]; // ! current cluster multiplicity
74 // Digits contribuing to current cluster
75 Int_t fix[500][2]; // ! List of x-positions for current cluster
76 Int_t fiy[500][2]; // ! List of y-positions for current cluster
77 Float_t fCharge[500][2]; // ! List of charges for current cluster
78 Int_t fChargeTot[2]; // ! Total charge
79 Float_t fQtot[2]; // ! Total charge
08a636a8 80 Float_t fZ; // ! Current z-position
7e4a628d 81 Float_t fChargeCorrel; // ! charge correlation
a713db22 82 Int_t fSegmentationType;// ! Segmentation type old or new
b137f8b9 83 Int_t fDetElemId; // ! detection elt id
7e4a628d 84
9825400f 85 // Fitter
86 static TMinuit* fgMinuit; // ! Fitter
ecfa008b 87 ClassDef(AliMUONClusterInput, 0) // Global data service for hit reconstruction
9825400f 88};
89#endif
90