]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEODB/AliGConfig.cxx
MevSim interfaced through AliGenerator, first commit (Sylwester Radomski et al.)
[u/mrichter/AliRoot.git] / GEODB / AliGConfig.cxx
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 /*
17 $Log$
18 */
19
20 // -*- C++ -*-
21 // 
22 // 1998/11/25
23 // ---------------------------------------------------------------------------
24 //
25 // AliGConfig Class
26 //
27 // This file is part of the ALICE Geometry Database .
28 //
29 // Author:  Joana E. Santo/David Collados/Antonino Bajeli
30 //
31 // ---------------------------------------------------------------------------
32
33 #include <iostream.h>
34 #include "AliGConfig.h"
35
36 ClassImp(AliGConfig)
37
38 //-------------------------------------------------------------------------
39
40 AliGConfig::AliGConfig( Text_t* name, Text_t* title, TStringLong formula, Text_t* detail, const Text_t* shapetype, const Text_t* shapename, const Text_t* materialname, Int_t beg, Int_t end ) : TNamed(name, title)
41 {
42     /* Constructor */
43     fBeg.Set(beg,0000);           // Time validity of node version
44     fDetail       = detail;       // Level of detail
45     fEnd.Set(end,0000);           // Time validity of node version
46
47     fFormula      = formula;      //Formula describing the node structure below
48     fMaterialName = materialname;
49     fShapeName    = shapename;
50     fShapeType    = shapetype;
51 }
52
53 //-------------------------------------------------------------------------
54
55 AliGConfig::AliGConfig( AliGConfig* Config )
56 {
57     if( Config ) {
58         /* Copy Constructor */
59         fBeg.Copy(Config->fBeg);                // Time validity of node version
60         fDetail       = Config->fDetail.Copy(); // Level of detail
61         fEnd.Copy(Config->fEnd);                // Time validity of node version
62
63         fFormula      = Config->fFormula.Copy();
64         fMaterialName = Config->fMaterialName.Copy();
65         fName         = Config->fName.Copy();
66         fShapeName    = Config->fShapeName.Copy();
67         fShapeType    = Config->fShapeType.Copy();
68         fTitle        = Config->fTitle.Copy();
69     }
70     else {
71         /* Default Constructor */
72         fBeg.Set();           // Time validity of node version
73         fDetail       = "";   // Level of detail
74         fEnd.Set();           // Time validity of node version
75         fFormula      = "";   // Formula describing the node structure below         
76         fMaterialName = "";
77         fName         = "";
78         fShapeName    = "";
79         fShapeType    = "";
80         fTitle        = "";
81     }
82 }
83
84 //-------------------------------------------------------------------------
85
86 AliGConfig::~AliGConfig() 
87 {
88     /* Destructor */
89 }
90
91 //-------------------------------------------------------------------------
92
93 AliGConfig* AliGConfig::operator=( AliGConfig* Config )
94 {
95     /* Operator = */
96     if( this == Config) return this; // special case.
97
98     Config->fBeg.Copy(this->fBeg);     // Time validity of node version
99     fDetail       = Config->fDetail;   // Level of detail
100     Config->fEnd.Copy(this->fEnd);     // Time validity of node version
101
102     fFormula      = Config->fFormula.Copy();
103     fMaterialName = Config->fMaterialName.Copy();
104     fName         = Config->fName.Copy();
105     fShapeName    = Config->fShapeName.Copy();
106     fShapeType    = Config->fShapeType.Copy();
107     fTitle        = Config->fTitle.Copy();
108
109     return this;
110 }
111
112 //-------------------------------------------------------------------------
113