ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// $Id$

//-----------------------------------------------------------------------------
// Class AliMUONGeometryConstituent
// -----------------------------
// Helper class for definititon of an assembly of volumes.
// Author: Ivana Hrivnacova, IPN Orsay
// 23/01/2004
//-----------------------------------------------------------------------------

#include <TGeoMatrix.h>

#include "AliMUONGeometryConstituent.h"
#include "AliLog.h"

/// \cond CLASSIMP
ClassImp(AliMUONGeometryConstituent)
/// \endcond

//______________________________________________________________________________
AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
                                   Int_t copyNo, Int_t npar, Double_t* param)
  : TNamed(name, name),
    fCopyNo(copyNo),
    fNpar(npar),
    fParam(0), 
    fTransformation(0)				   
{				    
/// Standard constructor for a constituent without translation & rotation

  // fTransformation = new TGeoCombiTrans(name);
           // would be nice to be so simple 

  // Create the constituent transformation
  fTransformation = new TGeoCombiTrans("");

  // Volume parameters
  if (npar > 0) {
    fParam = new Double_t[npar];
    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
  }  
}

//______________________________________________________________________________
AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
                                   Int_t copyNo, const TGeoTranslation& translation,
	  		           Int_t npar, Double_t* param)
  : TNamed(name, name),
    fCopyNo(copyNo),
    fNpar(npar),
    fParam(0),				   
    fTransformation(0) 
{
/// Standard constructor for a constituent with translation

  // Create the constituent transformation
  fTransformation = new TGeoCombiTrans(translation, TGeoRotation());

  // Volume parameters
  if (npar > 0) {
    fParam = new Double_t[npar];
    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
  }  
}

			 
//______________________________________________________________________________
AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
                                   Int_t copyNo, const TGeoTranslation& translation, 
	  	                   const TGeoRotation& rotation, 
				   Int_t npar, Double_t* param)
				   
  : TNamed(name, name),
    fCopyNo(copyNo),
    fNpar(npar),
    fParam(0),				   
    fTransformation(0) 
{
/// Standard constructor for a constituent with translation and rotation

  // Create the constituent transformation
  fTransformation = new TGeoCombiTrans(translation, rotation);

  // Volume parameters
  if (npar > 0) {
    fParam = new Double_t[npar];
    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
  }  
}

//______________________________________________________________________________
AliMUONGeometryConstituent::AliMUONGeometryConstituent(const TString& name, 
                                   Int_t copyNo, 
				   const TGeoCombiTrans& transform, 
				   Int_t npar, Double_t* param)
				   
  : TNamed(name, name),
    fCopyNo(copyNo),
    fNpar(npar),
    fParam(0),				   
    fTransformation(0) 
{
/// Standard constructor for a constituent with translation and rotation
/// defined via TGeoCombiTrans

  // Create the constituent transformation
  fTransformation = new TGeoCombiTrans(transform);

  // Volume parameters
  if (npar > 0) {
    fParam = new Double_t[npar];
    for (Int_t i=0; i<npar; i++) fParam[i] = param[i];
  }  
}

//______________________________________________________________________________
AliMUONGeometryConstituent::AliMUONGeometryConstituent()
  : TNamed(),
    fCopyNo(0),
    fNpar(0),
    fParam(0),				   
    fTransformation(0) 
{
/// Default constructor
}

//______________________________________________________________________________
AliMUONGeometryConstituent::~AliMUONGeometryConstituent() 
{
/// Destructor

  delete fTransformation;
  delete [] fParam;
}
 AliMUONGeometryConstituent.cxx:1
 AliMUONGeometryConstituent.cxx:2
 AliMUONGeometryConstituent.cxx:3
 AliMUONGeometryConstituent.cxx:4
 AliMUONGeometryConstituent.cxx:5
 AliMUONGeometryConstituent.cxx:6
 AliMUONGeometryConstituent.cxx:7
 AliMUONGeometryConstituent.cxx:8
 AliMUONGeometryConstituent.cxx:9
 AliMUONGeometryConstituent.cxx:10
 AliMUONGeometryConstituent.cxx:11
 AliMUONGeometryConstituent.cxx:12
 AliMUONGeometryConstituent.cxx:13
 AliMUONGeometryConstituent.cxx:14
 AliMUONGeometryConstituent.cxx:15
 AliMUONGeometryConstituent.cxx:16
 AliMUONGeometryConstituent.cxx:17
 AliMUONGeometryConstituent.cxx:18
 AliMUONGeometryConstituent.cxx:19
 AliMUONGeometryConstituent.cxx:20
 AliMUONGeometryConstituent.cxx:21
 AliMUONGeometryConstituent.cxx:22
 AliMUONGeometryConstituent.cxx:23
 AliMUONGeometryConstituent.cxx:24
 AliMUONGeometryConstituent.cxx:25
 AliMUONGeometryConstituent.cxx:26
 AliMUONGeometryConstituent.cxx:27
 AliMUONGeometryConstituent.cxx:28
 AliMUONGeometryConstituent.cxx:29
 AliMUONGeometryConstituent.cxx:30
 AliMUONGeometryConstituent.cxx:31
 AliMUONGeometryConstituent.cxx:32
 AliMUONGeometryConstituent.cxx:33
 AliMUONGeometryConstituent.cxx:34
 AliMUONGeometryConstituent.cxx:35
 AliMUONGeometryConstituent.cxx:36
 AliMUONGeometryConstituent.cxx:37
 AliMUONGeometryConstituent.cxx:38
 AliMUONGeometryConstituent.cxx:39
 AliMUONGeometryConstituent.cxx:40
 AliMUONGeometryConstituent.cxx:41
 AliMUONGeometryConstituent.cxx:42
 AliMUONGeometryConstituent.cxx:43
 AliMUONGeometryConstituent.cxx:44
 AliMUONGeometryConstituent.cxx:45
 AliMUONGeometryConstituent.cxx:46
 AliMUONGeometryConstituent.cxx:47
 AliMUONGeometryConstituent.cxx:48
 AliMUONGeometryConstituent.cxx:49
 AliMUONGeometryConstituent.cxx:50
 AliMUONGeometryConstituent.cxx:51
 AliMUONGeometryConstituent.cxx:52
 AliMUONGeometryConstituent.cxx:53
 AliMUONGeometryConstituent.cxx:54
 AliMUONGeometryConstituent.cxx:55
 AliMUONGeometryConstituent.cxx:56
 AliMUONGeometryConstituent.cxx:57
 AliMUONGeometryConstituent.cxx:58
 AliMUONGeometryConstituent.cxx:59
 AliMUONGeometryConstituent.cxx:60
 AliMUONGeometryConstituent.cxx:61
 AliMUONGeometryConstituent.cxx:62
 AliMUONGeometryConstituent.cxx:63
 AliMUONGeometryConstituent.cxx:64
 AliMUONGeometryConstituent.cxx:65
 AliMUONGeometryConstituent.cxx:66
 AliMUONGeometryConstituent.cxx:67
 AliMUONGeometryConstituent.cxx:68
 AliMUONGeometryConstituent.cxx:69
 AliMUONGeometryConstituent.cxx:70
 AliMUONGeometryConstituent.cxx:71
 AliMUONGeometryConstituent.cxx:72
 AliMUONGeometryConstituent.cxx:73
 AliMUONGeometryConstituent.cxx:74
 AliMUONGeometryConstituent.cxx:75
 AliMUONGeometryConstituent.cxx:76
 AliMUONGeometryConstituent.cxx:77
 AliMUONGeometryConstituent.cxx:78
 AliMUONGeometryConstituent.cxx:79
 AliMUONGeometryConstituent.cxx:80
 AliMUONGeometryConstituent.cxx:81
 AliMUONGeometryConstituent.cxx:82
 AliMUONGeometryConstituent.cxx:83
 AliMUONGeometryConstituent.cxx:84
 AliMUONGeometryConstituent.cxx:85
 AliMUONGeometryConstituent.cxx:86
 AliMUONGeometryConstituent.cxx:87
 AliMUONGeometryConstituent.cxx:88
 AliMUONGeometryConstituent.cxx:89
 AliMUONGeometryConstituent.cxx:90
 AliMUONGeometryConstituent.cxx:91
 AliMUONGeometryConstituent.cxx:92
 AliMUONGeometryConstituent.cxx:93
 AliMUONGeometryConstituent.cxx:94
 AliMUONGeometryConstituent.cxx:95
 AliMUONGeometryConstituent.cxx:96
 AliMUONGeometryConstituent.cxx:97
 AliMUONGeometryConstituent.cxx:98
 AliMUONGeometryConstituent.cxx:99
 AliMUONGeometryConstituent.cxx:100
 AliMUONGeometryConstituent.cxx:101
 AliMUONGeometryConstituent.cxx:102
 AliMUONGeometryConstituent.cxx:103
 AliMUONGeometryConstituent.cxx:104
 AliMUONGeometryConstituent.cxx:105
 AliMUONGeometryConstituent.cxx:106
 AliMUONGeometryConstituent.cxx:107
 AliMUONGeometryConstituent.cxx:108
 AliMUONGeometryConstituent.cxx:109
 AliMUONGeometryConstituent.cxx:110
 AliMUONGeometryConstituent.cxx:111
 AliMUONGeometryConstituent.cxx:112
 AliMUONGeometryConstituent.cxx:113
 AliMUONGeometryConstituent.cxx:114
 AliMUONGeometryConstituent.cxx:115
 AliMUONGeometryConstituent.cxx:116
 AliMUONGeometryConstituent.cxx:117
 AliMUONGeometryConstituent.cxx:118
 AliMUONGeometryConstituent.cxx:119
 AliMUONGeometryConstituent.cxx:120
 AliMUONGeometryConstituent.cxx:121
 AliMUONGeometryConstituent.cxx:122
 AliMUONGeometryConstituent.cxx:123
 AliMUONGeometryConstituent.cxx:124
 AliMUONGeometryConstituent.cxx:125
 AliMUONGeometryConstituent.cxx:126
 AliMUONGeometryConstituent.cxx:127
 AliMUONGeometryConstituent.cxx:128
 AliMUONGeometryConstituent.cxx:129
 AliMUONGeometryConstituent.cxx:130
 AliMUONGeometryConstituent.cxx:131
 AliMUONGeometryConstituent.cxx:132
 AliMUONGeometryConstituent.cxx:133
 AliMUONGeometryConstituent.cxx:134
 AliMUONGeometryConstituent.cxx:135
 AliMUONGeometryConstituent.cxx:136
 AliMUONGeometryConstituent.cxx:137
 AliMUONGeometryConstituent.cxx:138
 AliMUONGeometryConstituent.cxx:139
 AliMUONGeometryConstituent.cxx:140
 AliMUONGeometryConstituent.cxx:141
 AliMUONGeometryConstituent.cxx:142
 AliMUONGeometryConstituent.cxx:143
 AliMUONGeometryConstituent.cxx:144
 AliMUONGeometryConstituent.cxx:145
 AliMUONGeometryConstituent.cxx:146
 AliMUONGeometryConstituent.cxx:147
 AliMUONGeometryConstituent.cxx:148
 AliMUONGeometryConstituent.cxx:149