]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSv11GeometrySPD.h
Fixing memory leaks
[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/*
7 $Id$
8 */
9#include <AliITSv11Geometry.h>
10class TGeoVolume;
11
12class AliITSv11GeometrySPD : public AliITSv11Geometry {
13 public:
c789ee28 14 AliITSv11GeometrySPD();
15 AliITSv11GeometrySPD(Int_t debug);
db486a6e 16 virtual ~AliITSv11GeometrySPD(){};
17 //
c789ee28 18 virtual TGeoVolume* CenteralSPD(TGeoVolume *moth);
db486a6e 19 //
20 // Create figures for the documentation of this class
21 virtual void CreateFigure0(const Char_t *filepath="",
22 const Char_t *type="gif");
c789ee28 23 virtual void CreateFigureLadder(const Char_t*filepath="",
24 const Char_t* type="gif");
25 //
26 virtual const char* GetSensitivevolumeName() const{
27 //Get Sensitive volume name
28 return fSPDSensitiveVolumeName.Data();}
29 virtual void SetSensitivevolumeName(const Char_t
30 *n="ITSSPDDetectorSensitiveVolume"){//Set Sensitive volume name
31 fSPDSensitiveVolumeName=n;}
db486a6e 32 private:
33 void SPDsectorShape(Int_t n,const Double_t *xc,const Double_t *yc,
34 const Double_t *r,const Double_t *ths,const Double_t *the,Int_t npr,
35 Int_t &m,Double_t **xp,Double_t **yp);
c789ee28 36 const char* CreateSensitivevolumeName(const char* app) const{
37 //Get Sensitive volume name
38 char *a = new char[fSPDSensitiveVolumeName.Length()+strlen(app)+1];
39 strcpy(a,fSPDSensitiveVolumeName.Data());return strcat(a,app);}
40 //
41 TGeoVolume* CarbonFiberSector(TGeoVolume *moth);
42 TGeoVolume* CreateHalfStaveGroundFoil();
43 TGeoVolume* CreateSPDLadder();
db486a6e 44
45 private:
c789ee28 46 // Posible Variables
47 TString fSPDSensitiveVolumeName; // ITS SPD sensitive volume name
48 Double_t fThickDetector; // Detector thickness
49 Double_t fThickChip; // Read out Chip thickness
50 // Stave
51 // Grounding Foil
52 const Double_t fkGrdFoilThick ;//! 0.05*fgkmm;
53 const Double_t fkGrdFoilWidthA ;//! 15.95*fgkmm;
54 const Double_t fkGrdFoilWidthC ;//! 4.4*fgkmm;
55 const Double_t fkGrdFoilLngA ;//!139.89*fgkmm;
56 const Double_t fkGrdFoilLngB ;//! 11.55*fgkmm;
57 const Double_t fkGrdFoilLngC ;//! 82.0*fgkmm;
58 const Int_t fkGrdFoilNholesAB ;//!5;
59 const Double_t fkGrdFoilHoleCenterAB ;//! 7.8*fgkmm;
60 const Double_t fkGrdFoilHoleLengthAB ;//! 12.0*fgkmm;
61 const Double_t fkGrdFoilHoleWidthAB ;//! 7.5*fgkmm;
62 const Double_t fkGrdFoilHoleSpacingAB;//! 14.0*fgkmm;
63 const Double_t fkGrdFoilHoleStartA ;//! 1.36*fgkmm;
64 const Double_t fkGrdFoilHoleStartB ;//! 73.08*fgkmm;
65 // Ladder
66 const Int_t fkLadNChips ;//!5;
67 const Double_t fkLadChipWidth ;//!15950.0*fgkmicron;
68 const Double_t fkLadChipHight ;//! 150.0*fgkmicron;
69 const Double_t fkLadChipLength ;//!13490.0*fgkmicron;
70 const Double_t fkLadGlue0Thick ;//! 0.100*fgkmm;
71 const Double_t fkLadBumpBondThick ;//! 30.0*fgkmicron;
72 const Double_t fkLadDetectorWidth ;//!13700.0*fgkmicron;
73 const Double_t fkLadDetectorThick ;//! 200.0*fgkmicron;
74 const Double_t fkLadDetectorLength;//!70710.0*fgkmicron;
75 const Double_t fkLadSensDetWidth ;//! 1280.0*fgkmicron;
76 const Double_t fkLadSensDetThick ;//! 200.0*fgkmicron;
77 const Double_t fkLadSensDetLength ;//!69490.0*fgkmicron;
78 const Double_t fkLadChipSpacing0 ;//! 610.0*fgkmicron;
79 const Double_t fkLadChipSpacing1 ;//! (2.*fkLadChipSpacing0+
80 // ((Double_t)fkLadNChips)*fkLadChipLength)/((Double_t)(fkLadNChips-1));
81 //
82
db486a6e 83 ClassDef(AliITSv11GeometrySPD,1) // ITS v11 Centeral SPD geometry
84};
85
86#endif