The fisrt step toward a fast simulation
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvFast.h
1 #ifndef ALIPHOSVFAST_H
2 #define ALIPHOSVFAST_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ////////////////////////////////////////////////
7 //  Manager class  for PHOS                   //
8 //  Version SUBATECH                          //
9 //  Author  Y. Schutz SUBATECH                //
10 //       This is the class to be used for     //  
11 //       fast simulations                     //
12 ////////////////////////////////////////////////
13
14 /* $Id$ */
15
16 // --- ROOT system ---
17 #include "TClonesArray.h"
18
19 // --- AliRoot header files ---
20 #include "AliPHOS.h"
21 #include "AliPHOSGeometry.h"
22 #include "AliPHOSPID.h"
23
24
25 class AliPHOSvFast : public AliPHOS {
26
27 public:
28
29   AliPHOSvFast(void) ;
30   AliPHOSvFast(const char *name, const char *title="") ;
31   virtual ~AliPHOSvFast(void) ;
32
33   void           AddRecParticle(Int_t primary) ;                    // adds primary particle to the RecParticles list
34   virtual void   BuildGeometry(void) ;                              // creates the geometry for the ROOT display
35   virtual void   CreateGeometry(void) ;                             // creates the geometry for GEANT
36   Float_t        GetBigBox(Int_t index) ;                             
37   virtual AliPHOSGeometry * GetGeometry() { return fGeom ; }  
38   virtual void   Init(void) ;                                       // does nothing
39   Int_t   IsVersion(void) const { return -1 ; }
40   void           MakeBranch(Option_t* opt) ;
41   RecParticlesList * RecParticles() { return fRecParticles ; }      // gets TClonesArray of reconstructed particles
42   void           SetBigBox(Int_t index, Float_t value) ;                             
43   virtual void   StepManager(void) ;                                // does the tracking through PHOS and a preliminary digitalization
44   
45 private:
46   
47   Float_t fBigBoxX ;                    // main box containing all PHOS (EMC+PPSD)
48   Float_t fBigBoxY ;                    // main box containing all PHOS (EMC+PPSD)
49   Float_t fBigBoxZ ;                    // main box containing all PHOS (EMC+PPSD)
50   AliPHOSGeometry * fGeom ;             // geometry definition
51   Int_t fNRecParticles ;                // number of detected particles
52   RecParticlesList * fRecParticles ;    // list of detected particles 
53
54   ClassDef(AliPHOSvFast,1)  // PHOS main class , version for fast simulation
55
56 };
57
58 #endif // AliPHOSVFAST_H