]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/AliITSUSegmentationPix.h
Added global tracker and seed prototype classes.
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUSegmentationPix.h
CommitLineData
451f5018 1#ifndef ALIITSUSEGMENTATIONPIX_H
2#define ALIITSUSEGMENTATIONPIX_H
909b16e7 3
4#include "AliITSsegmentation.h"
5
6
7
8// segmentation and response for pixels in ITS upgrade
9
451f5018 10class AliITSUSegmentationPix :
909b16e7 11public AliITSsegmentation {
12 public:
451f5018 13 AliITSUSegmentationPix(UInt_t id=0, int nchips=0,int ncol=0,int nrow=0,
909b16e7 14 double pitchX=0,double pitchZ=0,
909b16e7 15 double thickness=0,
e5373622 16 double pitchLftC=-1,double pitchRgtC=-1,
909b16e7 17 double edgL=0,double edgR=0,double edgT=0,double edgB=0);
18
451f5018 19 // AliITSUSegmentationPix(Option_t *opt="" );
20 AliITSUSegmentationPix(const AliITSUSegmentationPix &source);
21 virtual ~AliITSUSegmentationPix() {}
22 AliITSUSegmentationPix& operator=(const AliITSUSegmentationPix &source);
a84c4b15 23 //
24 virtual void Init();
25 //
909b16e7 26 virtual void SetNPads(Int_t, Int_t) {MayNotUse("SetPadSize");}
27 virtual Int_t GetNPads() const {return fNCol*fNRow;}
28 //
29 virtual void GetPadIxz(Float_t x,Float_t z,Int_t &ix,Int_t &iz) const;
30 virtual void GetPadCxz(Int_t ix,Int_t iz,Float_t &x,Float_t &z) const;
31 virtual void GetPadTxz(Float_t &x ,Float_t &z) const;
32 virtual Bool_t LocalToDet(Float_t x,Float_t z,Int_t &ix,Int_t &iz) const;
33 virtual void DetToLocal(Int_t ix,Int_t iz,Float_t &x,Float_t &z) const;
34 virtual void CellBoundries(Int_t ix,Int_t iz,Double_t &xl,Double_t &xu,
35 Double_t &zl,Double_t &zu) const;
36 //
37 virtual Int_t GetNumberOfChips() const {return fNChips;}
38 virtual Int_t GetMaximumChipIndex() const {return fNChips-1;}
39 //
40 virtual Int_t GetChipFromLocal(Float_t, Float_t zloc) const;
41 virtual Int_t GetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t, Float_t) const;
42 //
43 virtual Int_t GetChipFromChannel(Int_t, Int_t iz) const;
44 //
45 virtual Float_t Dpx(Int_t ix=0) const;
46 virtual Float_t Dpz(Int_t iz) const;
47 //
48 Int_t GetNRow() const {return fNRow;}
49 Int_t GetNCol() const {return fNCol;}
50 //
51 virtual Int_t Npx() const {return GetNRow();}
52 virtual Int_t Npz() const {return GetNCol();}
53 //
54 virtual void Neighbours(Int_t iX,Int_t iZ,Int_t* Nlist,Int_t Xlist[10],Int_t Zlist[10]) const;
55 //
56 virtual void PrintDefaultParameters() const {AliWarning("No def. parameters defined as const static data members");}
57 //
451f5018 58 virtual Int_t GetDetTypeID() const {return GetUniqueID();}
59 //
60 Bool_t Store(const char* outf);
29f5e263 61 static AliITSUSegmentationPix* LoadWithID(UInt_t id, const char* inpf);
451f5018 62 static void LoadSegmentations(TObjArray* dest, const char* inpf);
e5373622 63 //
909b16e7 64 protected:
65 Float_t Z2Col(Float_t z) const;
66 Float_t Col2Z(Int_t col) const;
67 //
68 protected:
69 Double_t fGuardLft; // left guard edge
70 Double_t fGuardRgt; // right guard edge
71 Double_t fGuardTop; // upper guard edge
72 Double_t fGuardBot; // bottom guard edge
73 Double_t fPitchX; // default pitch in X
74 Double_t fPitchZ; // default pitch in Z
75 Double_t fPitchZLftCol; // Z pitch of left column of each chip
76 Double_t fPitchZRgtCol; // Z pitch of right column of each chip
77 Double_t fChipDZ; // aux: chip size along Z
78 Int_t fNChips; // number of chips per module
79 Int_t fNColPerChip; // number of columns per chip
80 Int_t fNRow; // number of rows
81 Int_t fNCol; // number of columns (total)
82 //
e5373622 83 static const char* fgkSegmListName; // pattern for segmentations list name
84 //
451f5018 85 ClassDef(AliITSUSegmentationPix,1) //Segmentation class upgrade pixels
909b16e7 86
87};
88
89#endif