]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDetElement.h
Adding comment
[u/mrichter/AliRoot.git] / MUON / AliMUONDetElement.h
CommitLineData
cc87ebcd 1#ifndef ALIMUONDETELEMENT_H
2#define ALIMUONDETELEMENT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8/// \ingroup rec
9/// \class AliMUONDetElement
585d648a 10/// \brief Detection element object containing information for combined
03ee5d34 11/// cluster / track finder in the MUON arm
585d648a 12///
13/// \author Alexander Zinchenko, JINR Dubna
cc87ebcd 14
15#include <TObject.h>
16class TObjArray;
17class TClonesArray;
18class AliMUONDigit;
19class AliMUONHitMapA1;
6a518391 20class AliMUONSegmentation;
cc87ebcd 21class AliMUONGeometrySegmentation;
22class AliMUONData;
23class AliMUONRawCluster;
24class AliMUONClusterFinderAZ;
25
26class AliMUONDetElement : public TObject
27{
28 public:
29
30 AliMUONDetElement();
6a518391 31 AliMUONDetElement(Int_t idDE, AliMUONDigit *dig,
32 AliMUONClusterFinderAZ *recModel, AliMUONSegmentation* segmentation); // constructor
cc87ebcd 33 virtual ~AliMUONDetElement(); // Destructor
34
35 Int_t IdDE(void) const { return fidDE; } // det. elem. ID
36 Int_t Chamber(void) const { return fChamber; } // chamber No
37 Double_t Z(void) const { return fZ; } // Z-coordinate
38 Int_t Left(Int_t cath) const { return fLeft[cath]; } // number of unused digits
39 //Int_t GetMapElem(AliMUONDigit *digit) const; // get map element
40 TObjArray *Digits(Int_t cath) const { return fDigits[cath]; } // array of digits
41 TObjArray *RawClusters() const { return fRawClus; } // array of raw clusters
03ee5d34 42 TObjArray *HitsForRec() const { return fHitsForRec; } // hits for rec.
cc87ebcd 43 Int_t NHitsForRec() const { return fNHitsForRec; } // No. of hits for rec.
03ee5d34 44 //Bool_t Inside(Double_t x, Double_t y, Double_t z) const; // check if point inside DE
45 Bool_t Inside(Double_t x, Double_t y, Double_t z, Double_t dx, Double_t dy) const; // check if point inside DE
cc87ebcd 46
47 void SetID(Int_t idDE) { fidDE = idDE; } // set det. elem. ID
48 void SetIndex(Int_t index) { fIndex = index; } // set position index
49 void SetZ(Double_t z) { fZ = z; } // set Z-coord.
50 void SetLeft(Int_t cath, Int_t left) { fLeft[cath] = left; } // set No. of digits
51 //void SetMapElem(const AliMUONDigit *digit, Int_t flag); // set map element
52 void AddDigit(AliMUONDigit *dig); // add digit
53 void Fill(AliMUONData *data); // fill hit maps
03ee5d34 54 void ClusterReco(Double_t x, Double_t y, Double_t dx, Double_t dy); // run cluster reco around (x,y)
cc87ebcd 55 void AddHitForRec(AliMUONRawCluster *clus); // make HitForRec
56 // What is necessary for sorting TObjArray's
57 Bool_t IsSortable() const { return kTRUE; }
58 Int_t Compare(const TObject* detElem) const; // "Compare" function for sorting
59
cc87ebcd 60 private:
829425a5 61 Int_t fidDE; ///< det. elem. ID
62 Int_t fIndex; ///< det. elem. position index in container
63 Int_t fChamber; ///< chamber No
64 Double_t fZ; ///< det. elem. Z-coordinate
65 Int_t fLeft[2]; ///< numbers of digits not used for clustering
66 Int_t fNHitsForRec; ///< number of hits for rec.
67 AliMUONGeometrySegmentation* fSeg[2]; ///< segmentation
68 AliMUONHitMapA1 *fHitMap[2]; ///< map of digits
69 TObjArray *fDigits[2]; ///< container of digits from this det. elem.
70 TObjArray *fRawClus; ///< raw clusters
03ee5d34 71 TObjArray *fHitsForRec; ///< HitForRec's
829425a5 72 AliMUONClusterFinderAZ *fRecModel; ///< cluster finder
cc87ebcd 73
74 // Functions
54d7ba50 75 AliMUONDetElement(const AliMUONDetElement & rhs); // copy constructor
76 AliMUONDetElement& operator = (const AliMUONDetElement& rhs); // assignment operator
cc87ebcd 77
78 ClassDef(AliMUONDetElement,0) // detection element object
79 };
80#endif