]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSv11GeomCableFlat.h
Sorting the clusters by means of insertion
[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;
108bd0fe 15class TGeoCombiTrans;
b7943f00 16class TGeoMedium;
17
18#include "AliITSv11GeomCable.h"
19
20class AliITSv11GeomCableFlat : public AliITSv11GeomCable {
21
22 public:
23 AliITSv11GeomCableFlat();
24 AliITSv11GeomCableFlat(const char* name, Double_t width, Double_t thick);
b7943f00 25 virtual ~AliITSv11GeomCableFlat() {};
26
7a82301d 27 void SetNLayers(Int_t nLayers);
28 Int_t SetLayer(Int_t nLayer,Double_t thick,TGeoMedium *medium,Int_t color=0);
29 void AddCheckPoint( TGeoVolume *vol, Int_t iCheckPt,
30 Double_t *coord, Double_t *orthVect);
108bd0fe 31 TGeoVolume* CreateAndInsertCableSegment(Int_t p2, Double_t rotation=0,
32 TGeoCombiTrans** ct=0);
33 TGeoVolume* CreateAndInsertBoxCableSegment(Int_t p2, Double_t rotation=0,
34 TGeoCombiTrans** ct=0);
35 TGeoVolume* CreateAndInsertCableCylSegment(Int_t p2, Double_t rotation=0,
36 TGeoCombiTrans** ct=0);
7a82301d 37
38 void SetWidth(Double_t width) { fWidth = width;};
39 void SetThickness(Double_t thick) {fThick = thick;};
40 Double_t GetWidth() const {return fWidth;};
41 Double_t GetThickness() const {return fThick;};
b7943f00 42
43 virtual void PrintCheckPoints() const;
44 virtual Int_t GetPoint(Int_t iCheckPt, Double_t *coord) const;
45 virtual Int_t GetVect(Int_t iCheckPt, Double_t *coord) const;
46
47 protected:
5262df17 48 TGeoVolume *CreateSegment( const Double_t *coord1,const Double_t *coord2,
49 const Double_t *localVect1,
50 const Double_t *localVect2 );
b7943f00 51
5262df17 52 TGeoVolume *CreateBoxSegment( const Double_t *coord1,const Double_t *coord2);
7a82301d 53
5262df17 54 TGeoVolume *CreateCylSegment( const Double_t &phi, const Double_t &r);
7a82301d 55
b7943f00 56 Double_t fWidth; // width
57 Double_t fThick; // total thickness
58 Int_t fNlayer; // number of layers
59 Double_t fPreviousX[3]; // used internally
60 Double_t fLayThickness[fgkCableMaxLayer]; // layer thicknesses
61 TGeoTranslation *fTranslation[fgkCableMaxLayer]; // layer translations
62 TGeoMedium *fLayMedia[fgkCableMaxLayer]; // layer media
63 Int_t fLayColor[fgkCableMaxLayer]; // layer colors
64
787c8db5 65 private:
66 AliITSv11GeomCableFlat(const AliITSv11GeomCableFlat &source);
67 AliITSv11GeomCableFlat& operator=(const AliITSv11GeomCableFlat &source);
68
b7943f00 69 ClassDef(AliITSv11GeomCableFlat,1)
70};
71
72
73#endif