Coding rule violations corrected.
[u/mrichter/AliRoot.git] / FASTSIM / AliFastDetector.h
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
8 #include <TNamed.h>
9 class TList;
10 class TObjLink;
11 class AliFastResponse;
12 class AliFastParticle;
13 class AliGeometry;
14
15 class AliFastDetector : public TNamed {
16     
17  public:
18     AliFastDetector();
19     AliFastDetector(char* Name, char* Title);    
20     virtual ~AliFastDetector();
21     virtual void Init();
22     virtual void SetGeometry(AliGeometry* geom) 
23         {fGeometry = geom;}
24     
25     virtual AliGeometry* GetGeometry() const  
26         {return fGeometry;}
27     //
28     // Add a new subdetector 
29     virtual void AddSubdetector(AliFastDetector *Detector, char* Name);
30     virtual TList* Subdetectors() {return fSubdetectors;}
31     //
32     // Add a new response
33     virtual void AddResponse(AliFastResponse *Response);
34     virtual TList* Responses() {return fResponses;}
35     virtual Float_t EvaluateEfficiency(AliFastParticle* part);
36     virtual Bool_t  EvaluateAcceptance(AliFastParticle* part);
37     virtual void    EvaluateResponse(AliFastParticle* part);
38     
39     // Iterators
40     AliFastDetector*  FirstSubdetector();
41     AliFastDetector*  NextSubdetector();
42     AliFastResponse*  FirstResponse();
43     AliFastResponse*  NextResponse();
44  protected:
45     TList            *fSubdetectors;      // List of Subdetectors
46     TList            *fResponses;         // Responses
47     TObjLink         *fLnkD;              // Pointer to detector in list 
48     TObjLink         *fLnkR;              // Pointer to response in list
49     AliFastResponse  *fEfficiency;        // Efficiency Simulation
50     AliFastResponse  *fResolution;        // Resolution Simulation
51     AliGeometry      *fGeometry;          // Geometry 
52     ClassDef(AliFastDetector,1) // Base class for fast detector
53 };
54
55 #endif 
56
57
58