New SPD geometry class for 425 micron pixels
[u/mrichter/AliRoot.git] / ITS / AliITSgeomSPD425.h
1 #ifndef ALIITSGEOMSPD425_H
2 #define ALIITSGEOMSPD425_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8
9
10 #include "AliITSgeomSPD.h"
11 #include "TBRIK.h"
12
13
14 // temporary - this will migrate into the segmentation class
15
16
17 class AliITSgeomSPD425 : public AliITSgeomSPD {
18
19  public:
20     AliITSgeomSPD425();
21     AliITSgeomSPD425(Float_t cy,Int_t Nx,Float_t *bx,Int_t Nz,Float_t *bz);
22     AliITSgeomSPD425(AliITSgeomSPD425 &source);
23     virtual ~AliITSgeomSPD425();
24     AliITSgeomSPD425& operator=(AliITSgeomSPD425 &source);
25     TShape *GetShape() {return fShapeSPD;} // returns shape
26     Float_t GetDx() {return fdx;} // returns half detector width cm
27     Float_t GetDy() {return fdy;} // returns half detector thickness cm
28     Float_t GetDz() {return fdz;} // returns half detector lenght cm
29     Int_t   GetNbinsX() {return fNbinx;} // returns number of x pixels
30     Float_t GetBinSizeX(Int_t i) {return fBinSizeX[i];} // returns x pixel size
31     Int_t   GetNbinsZ() {return fNbinz;} // returns number of z pixels
32     Float_t GetBinSizeZ(Int_t i) {return fBinSizeZ[i];} // returns z pixel size
33     void    ReSetBins(Float_t dy,Int_t Nx, Float_t *bx,Int_t Nz,Float_t *bz);
34
35  private:
36     // define shape of active area using ROOT shapes so that they can
37     // be easly plotted. Inputs to TBRIK are
38     // Shape name (what ever that is)
39     // Shape title (what ever that means)
40     // name of material (something I took from ITSgeometry.tme file
41     // fdx => 1/2 thickness of wafer's active volume (cm)
42     // fdy => 1/2 r*phi size of active volume (cm)
43     // fdz => 1/2 size of active volume (cm)
44     TBRIK *fShapeSPD;     // Shape of sensitive volume.
45     Float_t fdx;          // Brick half width cm
46     Float_t fdy;          // Brick half thickness cm
47     Float_t fdz;          // Brick half length cm
48     Float_t *fBinSizeX;  // Pixel size in X, cm
49     Int_t   fNbinx;      // Number of pixels in x
50     Float_t *fBinSizeZ;  // Pixel size in Z, cm
51     Int_t   fNbinz;      // Number of pixels in z
52
53     ClassDef(AliITSgeomSPD425,2) // ITS SPD detector geometry class for 425X50 micron pixel size.
54
55 };
56 #endif