1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 // Class AliMUONVGeometryBuilder
19 // -----------------------------
20 // Abstract base class for geometry construction per chamber(s).
21 // Author: Ivana Hrivnacova, IPN Orsay
24 #include <TObjArray.h>
26 #include "AliMUONVGeometryBuilder.h"
27 #include "AliMUONChamber.h"
29 ClassImp(AliMUONVGeometryBuilder)
31 //______________________________________________________________________________
32 AliMUONVGeometryBuilder::AliMUONVGeometryBuilder(
33 AliMUONChamber* ch1, AliMUONChamber* ch2,
34 AliMUONChamber* ch3, AliMUONChamber* ch4,
35 AliMUONChamber* ch5, AliMUONChamber* ch6)
39 // Standard constructor
41 // Create the chambers array
42 fChambers = new TObjArray();
44 if (ch1) fChambers->Add(ch1);
45 if (ch2) fChambers->Add(ch2);
46 if (ch3) fChambers->Add(ch3);
47 if (ch4) fChambers->Add(ch4);
48 if (ch5) fChambers->Add(ch5);
49 if (ch6) fChambers->Add(ch6);
54 //______________________________________________________________________________
55 AliMUONVGeometryBuilder::AliMUONVGeometryBuilder()
59 // Default constructor
63 //______________________________________________________________________________
64 AliMUONVGeometryBuilder::AliMUONVGeometryBuilder(const AliMUONVGeometryBuilder& rhs)
67 // Protected copy constructor
69 Fatal("Copy constructor",
70 "Copy constructor is not implemented.");
73 //______________________________________________________________________________
74 AliMUONVGeometryBuilder::~AliMUONVGeometryBuilder() {
77 fChambers->Clear(); // Sets pointers to 0 sinche it is not the owner
82 //______________________________________________________________________________
83 AliMUONVGeometryBuilder&
84 AliMUONVGeometryBuilder::operator = (const AliMUONVGeometryBuilder& rhs)
86 // Protected assignement operator
88 // check assignement to self
89 if (this == &rhs) return *this;
92 "Assignment operator is not implemented.");
101 //______________________________________________________________________________
102 AliMUONChamber* AliMUONVGeometryBuilder::GetChamber(Int_t chamberId) const
104 // Returns the chamber specified by chamberId
107 for (Int_t i=0; i<fChambers->GetEntriesFast(); i++) {
108 AliMUONChamber* chamber = (AliMUONChamber*)fChambers->At(i);
109 if ( chamber->GetId() == chamberId) return chamber;