New geometry: SDD, cables and update on V11 (L. Gaudichet)
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeomCableFlat.h
CommitLineData
b7943f00 1#ifndef ALIITSV11GEOMCABLEFLAT_H
2#define ALIITSV11GEOMCABLEFLAT_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//*************************************************************************
8// Class for flat cables
9//
10// Ludovic Gaudichet gaudichet@to.infn.it
11//*************************************************************************
12
13class TGeoVolume;
14class TGeoTranslation;
15//class TGeoCombiTrans;
16//class TGeoArb8;
17//class TGeoNode;
18class TGeoMedium;
19
20#include "AliITSv11GeomCable.h"
21
22class AliITSv11GeomCableFlat : public AliITSv11GeomCable {
23
24 public:
25 AliITSv11GeomCableFlat();
26 AliITSv11GeomCableFlat(const char* name, Double_t width, Double_t thick);
27 AliITSv11GeomCableFlat(const AliITSv11GeomCableFlat &source);
28 AliITSv11GeomCableFlat& operator=(const AliITSv11GeomCableFlat &source);
29 virtual ~AliITSv11GeomCableFlat() {};
30
31 void SetNLayers(Int_t nLayers);
32 Int_t SetLayer(Int_t nLayer,Double_t thick,TGeoMedium *medium,Int_t color=0);
33 void AddCheckPoint( TGeoVolume *vol, Int_t iCheckPt,
34 Double_t *coord, Double_t *orthVect);
35 Int_t CreateAndInsertCableSegment(Int_t p2, Double_t rotation=0);
36 void SetWidth(Double_t width) { fWidth = width;};
37 void SetThickness(Double_t thick) {fThick = thick;};
38 Double_t GetWidth() const {return fWidth;};
39 Double_t GetThickness() const {return fThick;};
40
41 virtual void PrintCheckPoints() const;
42 virtual Int_t GetPoint(Int_t iCheckPt, Double_t *coord) const;
43 virtual Int_t GetVect(Int_t iCheckPt, Double_t *coord) const;
44
45 protected:
46 TGeoVolume *CreateSegment( Double_t *coord1,Double_t *coord2,
47 Double_t *localVect1, Double_t *localVect2 );
48
49 Double_t fWidth; // width
50 Double_t fThick; // total thickness
51 Int_t fNlayer; // number of layers
52 Double_t fPreviousX[3]; // used internally
53 Double_t fLayThickness[fgkCableMaxLayer]; // layer thicknesses
54 TGeoTranslation *fTranslation[fgkCableMaxLayer]; // layer translations
55 TGeoMedium *fLayMedia[fgkCableMaxLayer]; // layer media
56 Int_t fLayColor[fgkCableMaxLayer]; // layer colors
57
58 ClassDef(AliITSv11GeomCableFlat,1)
59};
60
61
62#endif