]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FASTSIM/AliFastDetector.h
Moving from base to calib, and adding packing interface (a packed value is simply...
[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
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>
17class TList;
18class TObjLink;
19class AliFastResponse;
20class AliFastParticle;
21class AliGeometry;
22
23class 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