fortran loop removed
[u/mrichter/AliRoot.git] / FASTSIM / AliFastDetector.h
CommitLineData
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
8#include <TNamed.h>
9class TList;
10class TObjLink;
11class AliFastResponse;
12class AliFastParticle;
13class AliGeometry;
14
15class 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