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 AliMFTHalf
20 : ///
21 : /// Class Building the geometry of one half of the ALICE Muon Forward Tracker
22 : ///
23 : // author Raphael Tieulent <raphael.tieulent@cern.ch>
24 : //-----------------------------------------------------------------------------
25 :
26 : #include "TGeoMatrix.h"
27 :
28 : #include "AliLog.h"
29 :
30 : #include "AliMFTHalfDiskSegmentation.h"
31 : #include "AliMFTHalfSegmentation.h"
32 : #include "AliMFTHalfDisk.h"
33 : #include "AliMFTGeometry.h"
34 : #include "AliMFTHalf.h"
35 :
36 :
37 : /// \cond CLASSIMP
38 14 : ClassImp(AliMFTHalf);
39 : /// \endcond
40 :
41 : //=============================================================================================
42 : /// \brief Default constructor
43 :
44 : AliMFTHalf::AliMFTHalf():
45 0 : TNamed(){
46 :
47 0 : }
48 :
49 : //=============================================================================================
50 : /// \brief Constructor
51 0 : AliMFTHalf::AliMFTHalf(AliMFTHalfSegmentation *seg):TNamed(),
52 0 : fSegmentation(seg)
53 0 : {
54 :
55 0 : AliMFTGeometry * mftGeom = AliMFTGeometry::Instance();
56 :
57 0 : SetUniqueID(fSegmentation->GetUniqueID());
58 :
59 0 : SetName(Form("MFT_H_%d",mftGeom->GetHalfMFTID(GetUniqueID())));
60 :
61 :
62 0 : AliInfo(Form("Creating : %s ",GetName()));
63 :
64 0 : fHalfVolume = new TGeoVolumeAssembly(GetName());
65 :
66 0 : CreateHalfDisks();
67 0 : }
68 :
69 :
70 : //=============================================================================================
71 :
72 0 : AliMFTHalf::~AliMFTHalf() {
73 :
74 :
75 0 : }
76 :
77 : //=============================================================================================
78 : /// \brief Creates the Half-disks composing the Half-MFT
79 : void AliMFTHalf::CreateHalfDisks(){
80 0 : AliInfo(Form("Creating %d Half-Disk ",fSegmentation->GetNHalfDisks()));
81 :
82 0 : for (Int_t iDisk = 0 ; iDisk < fSegmentation->GetNHalfDisks(); iDisk++) {
83 0 : AliMFTHalfDiskSegmentation * halfDiskSeg = fSegmentation->GetHalfDisk(iDisk);
84 :
85 0 : AliMFTHalfDisk * halfDisk = new AliMFTHalfDisk(halfDiskSeg);
86 0 : Int_t halfDiskId = AliMFTGeometry::Instance()->GetHalfDiskID(halfDiskSeg->GetUniqueID());
87 0 : fHalfVolume->AddNode(halfDisk->GetVolume(),halfDiskId,halfDiskSeg->GetTransformation());
88 0 : delete halfDisk;
89 : }
90 :
91 :
92 0 : }
|