Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / ITS / AliITSDetType.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  Revision 1.8.8.1  2002/06/10 17:51:14  hristov
19  Merged with v3-08-02
20
21  Revision 1.9  2002/05/05 21:10:10  nilsen
22  In Distructor, delete fResponse. Since AliITSDetType is supposed to own it
23  it should delete it.
24
25  Revision 1.8  2001/10/04 22:40:15  nilsen
26  Cosmetic changes.
27
28  Revision 1.7  2001/09/07 14:43:15  hristov
29  Destructor reverted after a temporary fix
30
31  Revision 1.6  2001/09/07 08:44:43  hristov
32  Deletion commented out because AliITSDetType was not the owner
33
34  Revision 1.5  2001/05/31 06:58:38  fca
35  Patch problem with destructor
36
37  Revision 1.4  2001/05/01 14:47:45  nilsen
38  Fixed destructor so that it destroyes the pointers fSegmentation, fResponse,
39  fSimulation, and fReconst if they have been allocated. The two TStrings
40  fDigClassName and fClustClassName shoud be destroyed automaticaly. This should
41  fix a small memory leak associated with digitization and reconstruction.
42
43 */
44
45 #include "AliITSDetType.h"
46 #include "AliITSClusterFinder.h"
47 #include "AliITSsimulation.h"
48
49 ClassImp(AliITSDetType)  
50
51 //______________________________________________________________________
52 AliITSDetType::AliITSDetType(){
53     // constructor
54
55     fSegmentation = 0;
56     fResponse     = 0;
57     fSimulation   = 0;
58     fReconst      = 0;
59 }
60 //----------------------------------------------------------------------
61 AliITSDetType::~AliITSDetType(){
62     // destructor
63
64     if(fSegmentation!=0) delete fSegmentation; fSegmentation = 0;
65     if(fResponse!=0)     delete fResponse;     fResponse     = 0;
66     if(fSimulation!=0)   delete fSimulation;   fSimulation   = 0;
67     if(fReconst!=0)      delete fReconst;      fReconst      = 0;
68 }
69 //______________________________________________________________________
70 AliITSDetType::AliITSDetType(const AliITSDetType &source){
71   //     Copy Constructor 
72
73   if(&source == this) return;
74   this->fReconst        = source.fReconst;
75   this->fSimulation     = source.fSimulation;
76   this->fResponse       = source.fResponse;
77   this->fSegmentation   = source.fSegmentation;
78   this->fDigClassName   = source.fDigClassName;
79   this->fClustClassName = source.fClustClassName;
80   return;
81 }
82 //______________________________________________________________________
83 AliITSDetType& AliITSDetType::operator=(const AliITSDetType &source){
84   //    Assignment operator
85
86   if(&source == this) return *this;
87   this->fReconst        = source.fReconst;
88   this->fSimulation     = source.fSimulation;
89   this->fResponse       = source.fResponse;
90   this->fSegmentation   = source.fSegmentation;
91   this->fDigClassName   = source.fDigClassName;
92   this->fClustClassName = source.fClustClassName;
93   return *this;  
94 }