don't sort clusters after local reco, do this in AliITSUTrackerGlo
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUChip.h
CommitLineData
852af72e 1#ifndef ALIITSUCHIP_H
2#define ALIITSUCHIP_H
451f5018 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
852af72e 6/* $Id: AliITSUChip.h 53509 2011-12-10 18:55:52Z masera $ */
451f5018 7///////////////////////////////////////////////////////////////////////
8// //
852af72e 9// Class AliITSUChip //
10// The main function of chips is to simulate DIGITS from //
451f5018 11// GEANT HITS and produce POINTS from DIGITS //
12// It also make fast simulation without use of DIGITS //
13// //
451f5018 14///////////////////////////////////////////////////////////////////////
15
16#include <TObject.h>
17#include <TObjArray.h>
18#include "AliITSUHit.h"
19class AliITSUGeomTGeo;
20
852af72e 21class AliITSUChip: public TObject {
451f5018 22
23 public:
852af72e 24 AliITSUChip(); // default constructor
25 AliITSUChip(Int_t index, AliITSUGeomTGeo* tg);
26 virtual ~AliITSUChip();
451f5018 27 UInt_t GetIndex() const {return GetUniqueID();}
28 void SetIndex(UInt_t ind) {return SetUniqueID(ind);}
29 Int_t GetNHits() const {return fHitsM->GetEntriesFast();}
30 TObjArray *GetHits() const {return fHitsM;}
852af72e 31 AliITSUHit *GetHit(Int_t i) const {return (AliITSUHit*)fHitsM->UncheckedAt(i);}
32 void AddHit(AliITSUHit *hit) {fHitsM->AddLast(hit);}
451f5018 33 void Clear(Option_t* opt=0);
34 //
35 Bool_t MedianHitG(AliITSUHit *h1,AliITSUHit *h2,Float_t &x,Float_t &y,Float_t &z);
36 void MedianHitG(Int_t index, Float_t hitx1,Float_t hity1,Float_t hitz1,Float_t hitx2,Float_t hity2,Float_t hitz2, Float_t &xMg,Float_t &yMg, Float_t &zMg);
37 Bool_t MedianHitL(AliITSUHit *h1,AliITSUHit *h2,Float_t &x,Float_t &y,Float_t &z) const;
38 void MedianHitL(Int_t,AliITSUHit *,AliITSUHit *,Float_t &,Float_t &, Float_t &){};
39 Double_t PathLength(const AliITSUHit *itsHit1,const AliITSUHit *itsHit2);
40 void MedianHit(Int_t index, Float_t xg,Float_t yg,Float_t zg,Int_t status,Float_t &xMg, Float_t &yMg, Float_t &zMg,Int_t &flag);
41 void PathLength(Float_t x,Float_t y,Float_t z,Int_t status,Int_t &nseg,Float_t &x1,Float_t &y1,Float_t &z1,Float_t &dx1,Float_t &dy1, Float_t &dz1,Int_t &flag) const;
42 Bool_t LineSegmentL(Int_t hindex,Double_t &a,Double_t &b,Double_t &c,Double_t &d,Double_t &e,Double_t &f,Double_t &de);
0ebc85cf 43 Bool_t LineSegmentL(Int_t hindex,Double_t &a,Double_t &b,Double_t &c,Double_t &d,Double_t &e,Double_t &f,Double_t &de, Double_t &tof, Int_t &track);
451f5018 44 //
45 Bool_t LineSegmentG(Int_t hindex,Double_t &a,Double_t &b,Double_t &c,Double_t &d,Double_t &e,Double_t &f,Double_t &de);
0ebc85cf 46 Bool_t LineSegmentG(Int_t hindex,Double_t &a,Double_t &b,Double_t &c,Double_t &d,Double_t &e,Double_t &f,Double_t &de, Double_t &tof, Int_t &track);
451f5018 47 //
48 protected:
852af72e 49 AliITSUChip(const AliITSUChip &source);
50 AliITSUChip& operator=(const AliITSUChip &source);
51 TObjArray *fHitsM; // Pointer to list of hits on this chip
451f5018 52 AliITSUGeomTGeo *fGeomTG; // pointed to geometry
53 //
852af72e 54 ClassDef(AliITSUChip,1) // Copy the hits into a more useful order
451f5018 55};
56
852af72e 57inline void AliITSUChip::Clear(Option_t *) {fHitsM->Clear();}
451f5018 58
59#endif
60
61
62