]>
Commit | Line | Data |
---|---|---|
8bb5c9a6 | 1 | #ifndef ALIFASTDETECTOR_H |
2 | #define ALIFASTDETECTOR_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
a42548b0 | 8 | // |
9 | // Base class for fast simulation of a detctor | |
10 | // or a system of subdetectors. | |
11 | // The detector response is described by resolution and efficiency. | |
12 | // Author: | |
13 | // Andreas Morsch | |
14 | // andreas.morsch@cern.ch | |
15 | ||
8bb5c9a6 | 16 | #include <TNamed.h> |
17 | class TList; | |
18 | class TObjLink; | |
19 | class AliFastResponse; | |
20 | class AliFastParticle; | |
21 | class AliGeometry; | |
22 | ||
23 | class AliFastDetector : public TNamed { | |
24 | ||
25 | public: | |
26 | AliFastDetector(); | |
a42548b0 | 27 | AliFastDetector(char* Name, char* Title); |
28 | AliFastDetector(const AliFastDetector& det); | |
8bb5c9a6 | 29 | virtual ~AliFastDetector(); |
30 | virtual void Init(); | |
31 | virtual void SetGeometry(AliGeometry* geom) | |
32 | {fGeometry = geom;} | |
33 | ||
34 | virtual AliGeometry* GetGeometry() const | |
35 | {return fGeometry;} | |
36 | // | |
37 | // Add a new subdetector | |
38 | virtual void AddSubdetector(AliFastDetector *Detector, char* Name); | |
39 | virtual TList* Subdetectors() {return fSubdetectors;} | |
40 | // | |
41 | // Add a new response | |
42 | virtual void AddResponse(AliFastResponse *Response); | |
43 | virtual TList* Responses() {return fResponses;} | |
44 | virtual Float_t EvaluateEfficiency(AliFastParticle* part); | |
45 | virtual Bool_t EvaluateAcceptance(AliFastParticle* part); | |
46 | virtual void EvaluateResponse(AliFastParticle* part); | |
47 | ||
48 | // Iterators | |
49 | AliFastDetector* FirstSubdetector(); | |
50 | AliFastDetector* NextSubdetector(); | |
51 | AliFastResponse* FirstResponse(); | |
52 | AliFastResponse* NextResponse(); | |
a42548b0 | 53 | // Copy |
54 | AliFastDetector& operator=(const AliFastDetector & rhs); | |
55 | void Copy(TObject&) const; | |
8bb5c9a6 | 56 | protected: |
57 | TList *fSubdetectors; // List of Subdetectors | |
58 | TList *fResponses; // Responses | |
59 | TObjLink *fLnkD; // Pointer to detector in list | |
60 | TObjLink *fLnkR; // Pointer to response in list | |
61 | AliFastResponse *fEfficiency; // Efficiency Simulation | |
62 | AliFastResponse *fResolution; // Resolution Simulation | |
63 | AliGeometry *fGeometry; // Geometry | |
64 | ClassDef(AliFastDetector,1) // Base class for fast detector | |
65 | }; | |
66 | ||
67 | #endif | |
68 | ||
69 | ||
70 |