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.                  *
 **************************************************************************/
//////////////////////////////////////////////////////////////////////////////
// This is the base class for ITS detector signal simulations. Data members //
// include are a pointer to the AliITSDetTypeSim clas in order to access    //
// segmentation and response objects                                        // 
// classes. See the detector specific implementations for the propper code. //
//////////////////////////////////////////////////////////////////////////////
#include "TClonesArray.h"

#include "AliITSsimulation.h"
#include "AliITSpList.h"

ClassImp(AliITSsimulation)

//______________________________________________________________________
AliITSsimulation::AliITSsimulation(): TObject(),
fDetType(0),
fpList(0),
fModule(0),
fEvent(0),
fDebug(0){
    // Default constructor
    // Inputs:
    //    none.
    // Outputs:
    //    none.
    // Return:
    //    a default constructed AliITSsimulation class
}
//______________________________________________________________________
AliITSsimulation::AliITSsimulation(AliITSDetTypeSim *dettyp): TObject(),
fDetType(dettyp),
fpList(0),
fModule(0),
fEvent(0),
fDebug(0){
    // Default constructor
    // Inputs:
    //    AliITSDetTypeSim * : object used to access segmentation and response
    // Outputs:
    //    none.
    // Return:
    //    a default constructed AliITSsimulation class
}
//__________________________________________________________________________
AliITSsimulation::~AliITSsimulation(){
    // destructor
    // Inputs:
    //    none.
    // Outputs:
    //    none.
    // Return:
    //    none.

    if(fpList){
      delete fpList;
      fpList = 0;
    }
   }
//__________________________________________________________________________
AliITSsimulation::AliITSsimulation(const AliITSsimulation &s) : TObject(s),
fDetType(s.fDetType),
fpList(s.fpList),
fModule(s.fModule),
fEvent(s.fEvent),
fDebug(s.fDebug){
    //     Copy Constructor
    // Inputs:
    //    const AliITSsimulation &s  simulation class to copy from
    // Outputs:
    //    none.
    // Return:
    //    a standard constructed AliITSsimulation class with values the same
    //    as that of s.
 
}

//_________________________________________________________________________
AliITSsimulation&  AliITSsimulation::operator=(const AliITSsimulation &s){
    //    Assignment operator
    // Inputs:
    //    const AliITSsimulation &s  simulation class to copy from
    // Outputs:
    //    none.
    // Return:
    //    a standard constructed AliITSsimulation class with values the same
    //    as that of s.

    if(&s == this) return *this;
    this->fModule       = s.fModule;
    this->fEvent        = s.fEvent;
    this->fpList        = s.fpList;
    return *this;
}
//______________________________________________________________________
Bool_t AliITSsimulation::AddSDigitsToModule(TClonesArray *pItemA,Int_t mask ){
    // Add Summable digits to module maps.
    // Inputs:
    //    TClonesArray *pItemA  Array of AliITSpListItems (SDigits).
    //    Int_t         mask    Track number off set value (see 
    //                          AliITSpList::AddItemTo).
    // Outputs:
    //    none.
    // Return:
    //    kTRUE if there is a signal >0 else kFALSE
    Int_t nItems = pItemA->GetEntries();
    Bool_t sig = kFALSE;
 
    // cout << "Adding "<< nItems <<" SDigits to module " << fModule << endl;
    for( Int_t i=0; i<nItems; i++ ) {
        AliITSpListItem * pItem = (AliITSpListItem *)(pItemA->At( i ));
        if( pItem->GetModule() != fModule ) {
            Error( "AddSDigitsToModule","Error reading, SDigits module %d "
                   "!= current module %d: exit",
                   pItem->GetModule(), fModule );
            return sig;
        } // end if
        if(pItem->GetSignal()>0.0 ) sig = kTRUE;
        fpList->AddItemTo( mask, pItem );
    } // end for i
    return sig;
}
 AliITSsimulation.cxx:1
 AliITSsimulation.cxx:2
 AliITSsimulation.cxx:3
 AliITSsimulation.cxx:4
 AliITSsimulation.cxx:5
 AliITSsimulation.cxx:6
 AliITSsimulation.cxx:7
 AliITSsimulation.cxx:8
 AliITSsimulation.cxx:9
 AliITSsimulation.cxx:10
 AliITSsimulation.cxx:11
 AliITSsimulation.cxx:12
 AliITSsimulation.cxx:13
 AliITSsimulation.cxx:14
 AliITSsimulation.cxx:15
 AliITSsimulation.cxx:16
 AliITSsimulation.cxx:17
 AliITSsimulation.cxx:18
 AliITSsimulation.cxx:19
 AliITSsimulation.cxx:20
 AliITSsimulation.cxx:21
 AliITSsimulation.cxx:22
 AliITSsimulation.cxx:23
 AliITSsimulation.cxx:24
 AliITSsimulation.cxx:25
 AliITSsimulation.cxx:26
 AliITSsimulation.cxx:27
 AliITSsimulation.cxx:28
 AliITSsimulation.cxx:29
 AliITSsimulation.cxx:30
 AliITSsimulation.cxx:31
 AliITSsimulation.cxx:32
 AliITSsimulation.cxx:33
 AliITSsimulation.cxx:34
 AliITSsimulation.cxx:35
 AliITSsimulation.cxx:36
 AliITSsimulation.cxx:37
 AliITSsimulation.cxx:38
 AliITSsimulation.cxx:39
 AliITSsimulation.cxx:40
 AliITSsimulation.cxx:41
 AliITSsimulation.cxx:42
 AliITSsimulation.cxx:43
 AliITSsimulation.cxx:44
 AliITSsimulation.cxx:45
 AliITSsimulation.cxx:46
 AliITSsimulation.cxx:47
 AliITSsimulation.cxx:48
 AliITSsimulation.cxx:49
 AliITSsimulation.cxx:50
 AliITSsimulation.cxx:51
 AliITSsimulation.cxx:52
 AliITSsimulation.cxx:53
 AliITSsimulation.cxx:54
 AliITSsimulation.cxx:55
 AliITSsimulation.cxx:56
 AliITSsimulation.cxx:57
 AliITSsimulation.cxx:58
 AliITSsimulation.cxx:59
 AliITSsimulation.cxx:60
 AliITSsimulation.cxx:61
 AliITSsimulation.cxx:62
 AliITSsimulation.cxx:63
 AliITSsimulation.cxx:64
 AliITSsimulation.cxx:65
 AliITSsimulation.cxx:66
 AliITSsimulation.cxx:67
 AliITSsimulation.cxx:68
 AliITSsimulation.cxx:69
 AliITSsimulation.cxx:70
 AliITSsimulation.cxx:71
 AliITSsimulation.cxx:72
 AliITSsimulation.cxx:73
 AliITSsimulation.cxx:74
 AliITSsimulation.cxx:75
 AliITSsimulation.cxx:76
 AliITSsimulation.cxx:77
 AliITSsimulation.cxx:78
 AliITSsimulation.cxx:79
 AliITSsimulation.cxx:80
 AliITSsimulation.cxx:81
 AliITSsimulation.cxx:82
 AliITSsimulation.cxx:83
 AliITSsimulation.cxx:84
 AliITSsimulation.cxx:85
 AliITSsimulation.cxx:86
 AliITSsimulation.cxx:87
 AliITSsimulation.cxx:88
 AliITSsimulation.cxx:89
 AliITSsimulation.cxx:90
 AliITSsimulation.cxx:91
 AliITSsimulation.cxx:92
 AliITSsimulation.cxx:93
 AliITSsimulation.cxx:94
 AliITSsimulation.cxx:95
 AliITSsimulation.cxx:96
 AliITSsimulation.cxx:97
 AliITSsimulation.cxx:98
 AliITSsimulation.cxx:99
 AliITSsimulation.cxx:100
 AliITSsimulation.cxx:101
 AliITSsimulation.cxx:102
 AliITSsimulation.cxx:103
 AliITSsimulation.cxx:104
 AliITSsimulation.cxx:105
 AliITSsimulation.cxx:106
 AliITSsimulation.cxx:107
 AliITSsimulation.cxx:108
 AliITSsimulation.cxx:109
 AliITSsimulation.cxx:110
 AliITSsimulation.cxx:111
 AliITSsimulation.cxx:112
 AliITSsimulation.cxx:113
 AliITSsimulation.cxx:114
 AliITSsimulation.cxx:115
 AliITSsimulation.cxx:116
 AliITSsimulation.cxx:117
 AliITSsimulation.cxx:118
 AliITSsimulation.cxx:119
 AliITSsimulation.cxx:120
 AliITSsimulation.cxx:121
 AliITSsimulation.cxx:122
 AliITSsimulation.cxx:123
 AliITSsimulation.cxx:124
 AliITSsimulation.cxx:125
 AliITSsimulation.cxx:126
 AliITSsimulation.cxx:127
 AliITSsimulation.cxx:128
 AliITSsimulation.cxx:129
 AliITSsimulation.cxx:130
 AliITSsimulation.cxx:131
 AliITSsimulation.cxx:132
 AliITSsimulation.cxx:133
 AliITSsimulation.cxx:134
 AliITSsimulation.cxx:135