]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSSIMULATION_H |
2 | #define ALIITSSIMULATION_H | |
158283cd | 3 | /************************************************************************** |
4 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * * | |
6 | * Author: The ALICE Off-line Project. * | |
7 | * Contributors are mentioned in the code where appropriate. * | |
8 | * * | |
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 | **************************************************************************/ | |
17 | /* $Id$ */ | |
b0f5e3fc | 18 | |
19 | #include <TObject.h> | |
20 | ||
21 | class AliITSresponse; | |
22 | class AliITSsegmentation; | |
23 | class AliITSmodule; | |
e8189707 | 24 | class TRandom; |
b361c75d | 25 | class AliITSpList; |
26 | class TClonesArray; | |
b0f5e3fc | 27 | |
158283cd | 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. | |
b0f5e3fc | 31 | |
32 | class AliITSsimulation : public TObject { | |
33 | ||
158283cd | 34 | public: |
35 | AliITSsimulation(); // Default constructor | |
b361c75d | 36 | virtual ~AliITSsimulation(); // destructor |
158283cd | 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); | |
b361c75d | 41 | |
42 | // ***************** Hits -> SDigits ****************** | |
c7a4dac0 | 43 | // digitize module using the "slow" detector simulator creating |
44 | // summable digits. | |
45 | virtual void SDigitiseModule(AliITSmodule *mod,Int_t module,Int_t event){;} | |
b361c75d | 46 | |
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, | |
d4a64099 | 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 ); | |
b361c75d | 54 | // digitize module using the "slow" detector simulator from |
55 | // the sum of summable digits. | |
56 | virtual void FinishSDigitiseModule(){;} | |
57 | ||
58 | // **************** Hits -> Digits ********************* | |
c7a4dac0 | 59 | // digitize module using the "slow" detector simulator creating digits. |
158283cd | 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, | |
63 | TRandom *rndm) {} | |
b0f5e3fc | 64 | |
b361c75d | 65 | protected: |
66 | AliITSresponse *fResponse; //! response | |
67 | AliITSsegmentation *fSegmentation; //! segmentation | |
68 | AliITSpList *fpList; //! | |
69 | Int_t fModule; //! | |
70 | Int_t fEvent; //! | |
b0f5e3fc | 71 | |
72 | ClassDef(AliITSsimulation,1) // Simulation base class | |
73 | ||
74 | }; | |
75 | ||
b0f5e3fc | 76 | #endif |