Fixes to SPD and support geometry (B. Nilsen)
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySPD.h
CommitLineData
db486a6e 1#ifndef ALIITSV11GEOMETRYSPD_H
2#define ALIITSV11GEOMETRYSPD_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*
a53658c6 7 Class which defines the SPD v11 centeral geometry, defines the
8 materials/media used for this geometry and sets the related transport
9 parameters (GEANT3 types for the moment.
db486a6e 10 */
a53658c6 11
543b7370 12/*
13 $Id$
14 */
a53658c6 15#include <TGeoManager.h>
16#include <TVirtualMC.h>
db486a6e 17#include <AliITSv11Geometry.h>
a53658c6 18
db486a6e 19class TGeoVolume;
20
21class AliITSv11GeometrySPD : public AliITSv11Geometry {
22 public:
a53658c6 23 // Default constructor
24 AliITSv11GeometrySPD():AliITSv11Geometry(){};
25 // Default constructor with debuging level switch
543b7370 26 AliITSv11GeometrySPD(Int_t debug):AliITSv11Geometry(debug){};
a53658c6 27 // Destructor
db486a6e 28 virtual ~AliITSv11GeometrySPD(){};
a53658c6 29 // Creates SPD Sector geometry
30 virtual void SPDSector(TGeoVolume *moth,TGeoManager *mgr=gGeoManager);
31 // Creates SPD Carbon Fiber Sector only
32 virtual void CarbonFiberSector(TGeoVolume *moth,Double_t &xAAtubeCenter0,
33 Double_t &yAAtubeCenter0,
34 TGeoManager *mgr=gGeoManager);
35 // creates SPD Half Stave
36 virtual void HalfStave(TGeoVolume *moth,Double_t &thicknessAA,
37 TGeoManager *mgr=gGeoManager);
db486a6e 38 //
a53658c6 39 // Creates standard figures for the documentation of this class
40 virtual void CreateFigure0(const Char_t *filepath="",
41 const Char_t *type="gif",
42 TGeoManager *mgr=gGeoManager);
43 // Defnes/creates SPD Centeral detector materials
44 virtual Int_t CreateSPDCenteralMaterials(Int_t &Medffset,Int_t &matOffset);
45 // Sets SPD Centeral, GEANT3 type, Tracking parameters
46 virtual void InitSPDCenteral(Int_t offset,TVirtualMC *mc=gMC);
db486a6e 47 //
a53658c6 48 private:
49 // Computes shape of the SPD Sector given specific inputs Internal use only
50 void SPDsectorShape(Int_t n,const Double_t *xc,const Double_t *yc,
51 const Double_t *r,const Double_t *ths,const Double_t *the,Int_t npr,
52 Int_t &m,Double_t **xp,Double_t **yp);
db486a6e 53
54 private:
55 ClassDef(AliITSv11GeometrySPD,1) // ITS v11 Centeral SPD geometry
56};
57
58#endif