Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
7 : * Permission to use, copy, modify and distribute this software and its *
8 : * documentation strictly for non-commercial purposes is hereby granted *
9 : * without fee, provided that the above copyright notice appears in all *
10 : * copies and that both the copyright notice and this permission notice *
11 : * appear in the supporting documentation. The authors make no claims *
12 : * about the suitability of this software for any purpose. It is *
13 : * provided "as is" without express or implied warranty. *
14 : **************************************************************************/
15 :
16 : // $Id$
17 :
18 : //-----------------------------------------------------------------------------
19 : /// \class AliMFTGeometryBuilder
20 : ///
21 : /// Class describing MFT Geometry Builder
22 : ///
23 : // author Raphael Tieulent <raphael.tieulent@cern.ch>
24 : //-----------------------------------------------------------------------------
25 :
26 : #include "TGeoVolume.h"
27 : #include "TGeoManager.h"
28 :
29 : #include "AliLog.h"
30 :
31 : #include "AliMFTGeometryBuilder.h"
32 : #include "AliMFTGeometry.h"
33 : #include "AliMFTSegmentation.h"
34 : #include "AliMFTHalfSegmentation.h"
35 : #include "AliMFTHalf.h"
36 :
37 :
38 : /// \cond CLASSIMP
39 14 : ClassImp(AliMFTGeometryBuilder);
40 : /// \endcond
41 :
42 : //=============================================================================================
43 : /// Default constructor
44 :
45 : AliMFTGeometryBuilder::AliMFTGeometryBuilder():
46 0 : TNamed(){
47 :
48 0 : }
49 :
50 :
51 : //=============================================================================================
52 :
53 0 : AliMFTGeometryBuilder::~AliMFTGeometryBuilder() {
54 :
55 0 : }
56 :
57 :
58 : //=============================================================================================
59 : /// \brief Build the MFT Geometry
60 : void AliMFTGeometryBuilder::BuildGeometry(){
61 :
62 0 : AliMFTGeometry *mftGeo = AliMFTGeometry::Instance();
63 :
64 0 : AliMFTSegmentation * seg = mftGeo->GetSegmentation();
65 :
66 0 : TGeoVolume *volMFT = new TGeoVolumeAssembly("MFT");
67 :
68 0 : for (int iHalf=0; iHalf<2; iHalf++) {
69 0 : AliMFTHalfSegmentation * halfSeg = seg->GetHalf(iHalf);
70 0 : AliMFTHalf * halfMFT = new AliMFTHalf(halfSeg);
71 0 : volMFT->AddNode(halfMFT->GetVolume(),iHalf,halfSeg->GetTransformation());
72 0 : delete halfMFT;
73 : }
74 :
75 :
76 : /// \todo Add the service, Barrel, etc Those objects will probably be defined into the COMMON ITSMFT area.
77 :
78 0 : gGeoManager->GetVolume("ALIC")->AddNode(volMFT,0);
79 :
80 0 : }
|