1 #ifndef ALIITSSIMULATION_H
2 #define ALIITSSIMULATION_H
3 /**************************************************************************
4 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * Author: The ALICE Off-line Project. *
7 * Contributors are mentioned in the code where appropriate. *
9 * Permission to use, copy, modify and distribute this software and its *
10 * documentation strictly for non-commercial purposes is hereby granted *
11 * without fee, provided that the above copyright notice appears in all *
12 * copies and that both the copyright notice and this permission notice *
13 * appear in the supporting documentation. The authors make no claims *
14 * about the suitability of this software for any purpose. It is *
15 * provided "as is" without express or implied warranty. *
16 **************************************************************************/
22 class AliITSsegmentation;
28 // This is the base class for ITS detector signal simulations. Data members
29 // include are a pointer to the detectors specific response and segmentation
30 // classes. See the detector specific implementations for the propper code.
32 class AliITSsimulation : public TObject {
35 AliITSsimulation(); // Default constructor
36 virtual ~AliITSsimulation(); // destructor
37 // copy constructor. See detector specific implementation.
38 AliITSsimulation(const AliITSsimulation &source);
39 // Assignment opporator. See detector specific implementation.
40 virtual AliITSsimulation& operator=(const AliITSsimulation &source);
42 // ***************** Hits -> SDigits ******************
43 // digitize module using the "slow" detector simulator creating
45 virtual void SDigitiseModule(AliITSmodule *mod,Int_t module,Int_t event){;}
47 // ***************** sum of SDigits -> Digits **********
48 // Reset module arrays (maps), etc
49 virtual void InitSimulationModule( Int_t module, Int_t event ){;}
50 // add (sum) a new list of summable digits to module,
51 // add an offset (mask) to the track numbers. Returns kTRUE if there
52 // is a "good" signal in this module.
53 virtual Bool_t AddSDigitsToModule( TClonesArray *pItemArray, Int_t mask );
54 // digitize module using the "slow" detector simulator from
55 // the sum of summable digits.
56 virtual void FinishSDigitiseModule(){;}
58 // **************** Hits -> Digits *********************
59 // digitize module using the "slow" detector simulator creating digits.
60 virtual void DigitiseModule(AliITSmodule *mod,Int_t module,Int_t event) {;}
61 // digitizes module using the "fast" detector simulator.
62 virtual void CreateFastRecPoints(AliITSmodule *mod,Int_t module,
64 // Return pointer to Response model
65 virtual AliITSresponse* GetResponseModel(){return fResponse;}
66 // set pointer to Response model
67 virtual void SetResponseModel(AliITSresponse *res){fResponse = res;}
68 // Return pointer to Response model
69 virtual AliITSsegmentation* GetSegmentationModel(){return fSegmentation;}
70 // set pointer to Response model
71 virtual void SetSegmentationModel(AliITSsegmentation *seg){
75 AliITSresponse *fResponse; //! response
76 AliITSsegmentation *fSegmentation; //! segmentation
77 AliITSpList *fpList; //!
81 ClassDef(AliITSsimulation,1) // Simulation base class