]>
Commit | Line | Data |
---|---|---|
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 | 10 | class AliITSUSegmentationPix : |
909b16e7 | 11 | public 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 |