]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSsegmentationSSD.h
Added include file that are no londer included in AliITSgeom.h
[u/mrichter/AliRoot.git] / ITS / AliITSsegmentationSSD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSSEGMENTATIONSSD_H
2#define ALIITSSEGMENTATIONSSD_H
3
4#include "AliITSsegmentation.h"
5
6// segmentation for SSD
7
8class AliITSsegmentationSSD :
9public AliITSsegmentation {
10 public:
11
12 AliITSsegmentationSSD();
13 AliITSsegmentationSSD(AliITSgeom *gm);
14 AliITSsegmentationSSD(AliITSsegmentationSSD &source);
15 virtual ~AliITSsegmentationSSD(){}
16 AliITSsegmentationSSD& operator=(AliITSsegmentationSSD &source);
17
18
19 // Detector size: x,z,y
20 virtual void SetDetSize
21 (Float_t p1=72960., Float_t p2=40000., Float_t p3= 300.)
22 {fDx=p1; fDz=p2; fDy=p3;}
23
24 // Strip size
e8189707 25 virtual void SetPadSize(Float_t pitch=95., Float_t dummy=1.)
b0f5e3fc 26 {fPitch=pitch;}
27
28 // Maximum number of strips along the two coordinates
e8189707 29 virtual void SetNPads(Int_t p1=768, Int_t dummy=1)
b0f5e3fc 30 {fNstrips=p1;}
31
32
33 // Set stereo angles Pside-Nside
34 virtual void SetAngles(Float_t pa=0.0175, Float_t na=0.0175)
35 {fStereoP=pa; fStereoN=na;}
36
37 // Transform from real coordinates to strips
e8189707 38 virtual void GetPadIxz
39 (Float_t x ,Float_t z ,Int_t &iP,Int_t &iN);
b0f5e3fc 40 // Transform from strips to real coordinates
e8189707 41 virtual void GetPadCxz
b0f5e3fc 42 (Int_t iP, Int_t iN, Float_t &x , Float_t &z);
43
44 // Transform from real global to local coordinates
45 virtual void GetLocal(Int_t module,Float_t *g ,Float_t *l) {}
46 // Transform from real local to global coordinates
47 virtual void GetGlobal(Int_t module,Float_t *l ,Float_t *g) {}
48
49 virtual void Init();
50
51 // Detector type geometry
52 virtual AliITSgeom* Geometry() {return 0;}
53 // Detector length
54 virtual Float_t Dx() {return fDx;}
55 // Detector width
56 virtual Float_t Dz() {return fDz;}
57 // Detector thickness
58 virtual Float_t Dy() {return fDy;}
59 // Strip size in x
60 virtual Float_t Dpx(Int_t) {return fPitch;}
61 // Strip size in z
62 virtual Float_t Dpz(Int_t) {return fDz;}
63 // Maximum number of Strips in x
64 virtual Int_t Npx() {return fNstrips;}
65 // Maximum number of Strips in z
66 virtual Int_t Npz(){return 1;}
67
68 // Angles : Pside stereo angle-Nside stereo angle
69 virtual void Angles(Float_t &aP,Float_t &aN)
70 {aP=fStereoP;aN=fStereoN;}
71
72 protected:
73
74 Int_t fNstrips; // Number of strips in x
75 Float_t fStereoP; // Stereo angle for Pside
76 Float_t fStereoN; // Stereo angle for Nside
77 Float_t fPitch; // Pitch of the strips
78 Float_t fDz; // Full width of the detector (z axis)- microns
79 Float_t fDx; // Full length of the detector (x axis)- microns
80 Float_t fDy; // Full thickness of the detector (y axis) -um
81
e8189707 82 AliITSgeom *fGeom; //! pointer to the geometry class
b0f5e3fc 83 TF1* fCorr; // correction function
84
85 ClassDef(AliITSsegmentationSSD,1) //Segmentation class for SSD
86};
87
88#endif