]>
Commit | Line | Data |
---|---|---|
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" | |
19 | class AliITSUGeomTGeo; | |
20 | ||
852af72e | 21 | class 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 | 57 | inline void AliITSUChip::Clear(Option_t *) {fHitsM->Clear();} |
451f5018 | 58 | |
59 | #endif | |
60 | ||
61 | ||
62 |