Fix for the case of non-existent calibration files
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeomCableRound.h
CommitLineData
b7943f00 1#ifndef ALIITSV11GEOMCABLEROUND_H
2#define ALIITSV11GEOMCABLEROUND_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//*************************************************************************
9// Class for round cables
10//
11// Ludovic Gaudichet gaudichet@to.infn.it
12//*************************************************************************
13
14class TGeoVolume;
15class TGeoMedium;
16
17#include "AliITSv11GeomCable.h"
18
19class AliITSv11GeomCableRound : public AliITSv11GeomCable {
20
21 public:
22 AliITSv11GeomCableRound(const char* name, Double_t radius);
b7943f00 23 virtual ~AliITSv11GeomCableRound() {};
24
25 virtual Int_t GetPoint(Int_t iCheckPt, Double_t *coord) const;
26 virtual Int_t GetVect(Int_t iCheckPt, Double_t *coord) const;
27
28 void AddCheckPoint( TGeoVolume *vol, Int_t iCheckPt,
29 Double_t *coord, Double_t *orthVect);
108bd0fe 30 TGeoVolume* CreateAndInsertCableSegment(Int_t p2, TGeoCombiTrans** ct=0);
73dfc864 31 TGeoVolume* CreateAndInsertTubeSegment(Int_t p2, TGeoCombiTrans** ct=0);
108bd0fe 32 TGeoVolume* CreateAndInsertTorusSegment(Int_t p2, Double_t rotation=0,
33 TGeoCombiTrans** ct=0);
b7943f00 34 void PrintCheckPoints() const;
35
36 void SetNLayers(Int_t nLayers);
37 Int_t SetLayer(Int_t nLayer,Double_t thick,TGeoMedium *medium,
38 Int_t color=0);
39 void SetPhi(Double_t phi1, Double_t phi2)
40 {fPhiMin=phi1; fPhiMax=phi2;};
41
42 protected:
5262df17 43 TGeoVolume* CreateSegment( const Double_t *coord1,const Double_t *coord2,
7a82301d 44 Double_t *localVect1, Double_t *localVect2, Int_t p);
5262df17 45 TGeoVolume* CreateTubeSegment( const Double_t *coord1,const Double_t *coord2, Int_t p);
46 TGeoVolume* CreateTorus( const Double_t &phi, const Double_t &r, Int_t p);
b7943f00 47
48 Double_t fRadius; // total radius
49 Int_t fNlayer; // number of layers
b7943f00 50 Double_t fPhiMin; // minimum phi
51 Double_t fPhiMax; // maximum phi
52 Double_t fLayThickness[fgkCableMaxLayer]; // layer thicknesses
53 Int_t fLayColor[fgkCableMaxLayer]; // layer colors
54 TGeoMedium *fLayMedia[fgkCableMaxLayer]; // layer media
55
787c8db5 56 private:
57 AliITSv11GeomCableRound(const AliITSv11GeomCableRound &source);
58 AliITSv11GeomCableRound& operator=(const AliITSv11GeomCableRound &source);
59
b7943f00 60 ClassDef(AliITSv11GeomCableRound,1)
61};
62
63
64#endif