f8b301f369a685725cb2c9eb574c7e6ca1a55c9a
[u/mrichter/AliRoot.git] / ITS / AliITSsimulation.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 #include "TClonesArray.h"
17
18 #include "AliITSsimulation.h"
19 #include "AliITSpList.h"
20
21 ClassImp(AliITSsimulation)
22
23 AliITSsimulation::AliITSsimulation(){
24     // constructor
25     fSegmentation = 0;
26     fResponse     = 0;
27     fpList        = 0;
28     fModule       = 0;
29     fEvent        = 0;
30     SetDebug(kFALSE);
31 }
32 //__________________________________________________________________________
33 AliITSsimulation::~AliITSsimulation(){
34     // destructor
35     fSegmentation = 0; // local copies of pointer, do not delete
36     fResponse     = 0; // local copies of pointer, do not delete
37     delete fpList;
38 }
39 //__________________________________________________________________________
40 AliITSsimulation::AliITSsimulation(const AliITSsimulation &s) : TObject(s){
41     //     Copy Constructor 
42  
43     *this = s;
44     return;
45 }
46
47 //_________________________________________________________________________
48 AliITSsimulation&  AliITSsimulation::operator=(const AliITSsimulation &s){
49     //    Assignment operator
50
51     if(&s == this) return *this;
52     this->fResponse     = s.fResponse; 
53     this->fSegmentation = s.fSegmentation;
54     this->fModule       = s.fModule;
55     this->fEvent        = s.fEvent;
56     this->fpList        = s.fpList;
57     return *this;
58 }
59 //______________________________________________________________________
60 Bool_t AliITSsimulation::AddSDigitsToModule(TClonesArray *pItemA,Int_t mask ){
61     // Add Summable digits to module maps.
62     Int_t nItems = pItemA->GetEntries();
63     Bool_t sig = kFALSE;
64  
65     // cout << "Adding "<< nItems <<" SDigits to module " << fModule << endl;
66     for( Int_t i=0; i<nItems; i++ ) {
67         AliITSpListItem * pItem = (AliITSpListItem *)(pItemA->At( i ));
68         if( pItem->GetModule() != fModule ) {
69             Error( "AddSDigitsToModule","Error reading, SDigits module %d "
70                    "!= current module %d: exit",
71                    pItem->GetModule(), fModule );
72             return sig;
73         } // end if
74         if(pItem->GetSignal()>0.0 ) sig = kTRUE;
75         fpList->AddItemTo( mask, pItem );
76     } // end for i
77     return sig;
78 }