f2eed049e7c9e126a5c859d3bbbad365a2875493
[u/mrichter/AliRoot.git] / FASTSIM / AliFastResponse.h
1 #ifndef ALIFASTRESPONSE_H
2 #define ALIFASTRESPONSE_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 // Base class for fast detector response simulation. 
9 // The 3-vector of the particle can be passes as
10 // a TParticle or as
11 // transverse momentum pt, polar angle theta and azimuthal angle phi
12 // Author: Andreas Morsch
13 // andreas.morsch@cern.ch
14
15 #include <TNamed.h>
16 class AliFastParticle;
17
18 class AliFastResponse : public TNamed {
19  public:
20     AliFastResponse(){;}
21     AliFastResponse(const char* Name, const char* Title): TNamed(Name, Title){}
22     virtual ~AliFastResponse(){}
23     virtual void    Init()                                                  = 0;
24     virtual Float_t Evaluate(Float_t  /*pt*/,  Float_t  /*theta*/ , Float_t   /*phi*/)
25         {Fatal("Evaluate","Not implemented in base class !\n"); return (-1);}
26     
27     virtual void    Evaluate(Float_t   p,  Float_t  theta , Float_t   phi,
28                              Float_t& pS,  Float_t& thetaS, Float_t&  phiS);
29     virtual Float_t Evaluate(AliFastParticle* part);
30     void Copy(TObject&) const;
31  protected:
32     ClassDef(AliFastResponse,1)    // Base class for fast response
33 };
34
35 #endif