252b51af3c9c7ea7ccb4de9b981c1c4bdc68be2f
[u/mrichter/AliRoot.git] / ITS / AliITSsimulation.h
1 #ifndef ALIITSSIMULATION_H
2 #define ALIITSSIMULATION_H
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$ */
18
19 #include <TObject.h>
20
21 class AliITSresponse;
22 class AliITSsegmentation;
23 class AliITSmodule;
24 class TRandom;
25
26 // This is the base class for ITS detector signal simulations. Data members
27 // include are a pointer to the detectors specific response and segmentation
28 // classes. See the detector specific implementations for the propper code.
29
30 class AliITSsimulation : public TObject {
31
32  public:
33     AliITSsimulation(); // Default constructor
34     virtual ~AliITSsimulation() {}// destructor
35     // copy constructor. See detector specific implementation.
36     AliITSsimulation(const AliITSsimulation &source);
37     // Assignment opporator. See detector specific implementation.
38     virtual AliITSsimulation& operator=(const AliITSsimulation &source);
39     // digitize module using the "slow" detector simulator.
40     virtual void DigitiseModule(AliITSmodule *mod,Int_t module,Int_t event) {;}
41     // digitizes module using the "fast" detector simulator.
42     virtual void CreateFastRecPoints(AliITSmodule *mod,Int_t module,
43                                      TRandom *rndm) {}
44
45 protected:
46
47   AliITSresponse      *fResponse;       // response
48   AliITSsegmentation  *fSegmentation;   // segmentation
49
50   ClassDef(AliITSsimulation,1)  // Simulation base class 
51     
52 };
53
54 #endif