Added to TrackerGlo possibility to fill control histos with residuals,pulls,chi2
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUv11Layer.h
CommitLineData
29998a6e 1#ifndef ALIITSV11GEOMETRYUPGRADE_H
2#define ALIITSV11GEOMETRYUPGRADE_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7//*************************************************************************
8// This class Defines the Geometry for the ITS Upgrade using TGeo
9// This is a work class used to study different configurations
10// during the development of the new ITS structure.
11//
12// Mario Sitta <sitta@to.infn.it>
13//*************************************************************************
14
15
16/*
451f5018 17 $Id: AliITSUv11Layer.h
29998a6e 18 */
19
20#include "AliITSv11Geometry.h"
21#include <TGeoManager.h>
22#include <TGeoCompositeShape.h>
23#include <TGeoXtru.h>
24
25class TGeoVolume;
26
451f5018 27class AliITSUv11Layer : public AliITSv11Geometry {
29998a6e 28 public:
451f5018 29 AliITSUv11Layer();
30 AliITSUv11Layer(Int_t debug);
31 AliITSUv11Layer(Int_t lay, Int_t debug);
32 AliITSUv11Layer(Int_t lay, Bool_t turbo, Int_t debug);
33 AliITSUv11Layer(const AliITSUv11Layer &source);
34 AliITSUv11Layer& operator=(const AliITSUv11Layer &source);
35 virtual ~AliITSUv11Layer();
29998a6e 36 //
37 Bool_t IsTurbo() {return fIsTurbo;};
38
5d49e153 39 Double_t GetLadderThick() const {return fLadderThick;};
40 Double_t GetLadderTilt() const {return fLadderTilt;};
41 Double_t GetLadderWidth() const {return fLadderWidth;};
42 Double_t GetSensorThick() const {return fSensorThick;};
43 Double_t GetNLadders() const {return fNLadders;};
44 Double_t GetNModules() const {return fNModules;};
45 Double_t GetRadius() const {return fLayRadius;};
46 Double_t GetPhi0() const {return fPhi0;};
47 Double_t GetZLength() const {return fZLength;};
48 Int_t GetDetType() const {return fDetTypeID;}
535d15f5 49 //
5d49e153 50 void SetLadderThick(Double_t t) {fLadderThick = t;};
51 void SetLadderTilt(Double_t t);
52 void SetLadderWidth(Double_t w);
53 void SetSensorThick(Double_t t) {fSensorThick = t;};
54 void SetNLadders(Int_t n) {fNLadders = n;};
55 void SetNModules(Int_t m) {fNModules = m;};
56 void SetRadius(Double_t r) {fLayRadius = r;};
57 void SetPhi0(Double_t phi) {fPhi0 = phi;}
58 void SetZLength(Double_t z) {fZLength = z;};
59 void SetDetType(Int_t tp) {fDetTypeID = tp;}
60 virtual void CreateLayer(TGeoVolume *moth,const TGeoManager *mgr=gGeoManager);
29998a6e 61
62 private:
5d49e153 63 void CreateLayerTurbo(TGeoVolume *moth,const TGeoManager *mgr=gGeoManager);
29998a6e 64
362fe8e0 65 Double_t RadiusOfTurboContainer();
66
29998a6e 67 TGeoVolume* CreateLadder(const TGeoManager *mgr=gGeoManager);
5d49e153 68 TGeoVolume* CreateModule(Double_t x,Double_t y, Double_t z, const TGeoManager *mgr=gGeoManager);
29998a6e 69
70 Int_t fLayerNumber; // Current layer number
5d49e153 71 Double_t fPhi0; // lab phi of 1st ladder, in degrees!!!
29998a6e 72 Double_t fLayRadius; // Inner radius of this layer
73 Double_t fZLength; // Z length of this layer
74 Double_t fSensorThick; // Sensor thickness
75 Double_t fLadderThick; // Ladder thickness
76 Double_t fLadderWidth; // Ladder width (for turbo layers only)
5d49e153 77 Double_t fLadderTilt; // Ladder tilt angle (for turbo layers only) in degrees
29998a6e 78 Int_t fNLadders; // Number of ladders in this layer
79 Int_t fNModules; // Number of modules per ladder in this layer
535d15f5 80 UInt_t fDetTypeID; // detector type id
29998a6e 81 Bool_t fIsTurbo; // True if this layer is a "turbo" layer
29998a6e 82 // Parameters for the Upgrade geometry
83
84 static const Double_t fgkDefaultSensorThick; // Default sensor thickness
85 static const Double_t fgkDefaultLadderThick; // Default ladder thickness
86
451f5018 87 ClassDef(AliITSUv11Layer,0) // ITS v11 Upgrade geometry
29998a6e 88};
89
90#endif