Fix
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvFast.h
index 0833762..b49095c 100644 (file)
@@ -5,6 +5,17 @@
 
 /* $Id$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.26  2006/09/13 07:31:01  kharlov
+ * Effective C++ corrections (T.Pocheptsov)
+ *
+ * Revision 1.25  2005/05/28 14:19:05  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
 //_________________________________________________________________________
 // Implementation of the PHOS manager class for fast simulations     
 // Tracks particles until the reach a grossly designed PHOS module
 //*-- Author: Yves Schutz (SUBATECH)
 
 // --- ROOT system ---
-#include "TClonesArray.h"
+//#include "TClonesArray.h"
 #include "TRandom.h"
 
+class TVector3 ;
+class TFile;
+
 // --- AliRoot header files ---
 #include "AliPHOS.h"
-#include "AliPHOSGeometry.h"
-#include "AliPHOSPID.h"
+class AliPHOSGeometry ;
 class AliPHOSFastRecParticle ;
 
 class AliPHOSvFast : public AliPHOS {
 
 public:
 
-  AliPHOSvFast(void) ;
+  AliPHOSvFast() ;
   AliPHOSvFast(const char *name, const char *title="") ;
-  AliPHOSvFast(const AliPHOSvFast & fast) {
-    // cpy ctor: no implementation yet
-    // requested by the Coding Convention
-    assert(0==1) ; 
-  }
+  
   virtual ~AliPHOSvFast(void) ;
 
   void           AddRecParticle(const AliPHOSFastRecParticle & rp) ; // adds primary particle to the RecParticles list
-  virtual void   BuildGeometry(void) ;                               // creates the geometry for the ROOT display
   virtual void   CreateGeometry(void) ;                              // creates the geometry for GEANT
-  Float_t        GetBigBox(Int_t index) ;                             
-  virtual AliPHOSGeometry * GetGeometry() { return fGeom ; }  
+  Float_t        GetBigBox(Int_t index) const;                             
   virtual void   Init(void) ;                                        // does nothing
-  Int_t   IsVersion(void) const { return -1 ; }
-  void    MakeBranch(Option_t* opt, char *file=0) ;
-  Double_t MakeEnergy(const Double_t energy) ;                       // makes the detected energy    
-  TVector3 MakePosition(const Double_t energy, const TVector3 pos, const Double_t th, const Double_t ph) ; 
+  virtual Int_t  IsVersion(void) const {
+    // Gives the version number 
+    return 99 ; 
+  }
+
+  void    MakeBranch(Option_t* opt);
+  Double_t MakeEnergy(Double_t energy) ;                       // makes the detected energy    
+  TVector3 MakePosition(Double_t energy, TVector3 pos, Double_t th, Double_t ph) ; 
                                                                      // makes the detected position
-  void MakeRecParticle(const Int_t modid, const TVector3 pos, AliPHOSFastRecParticle & rp) ;  // makes a reconstructes particle from primary
+  void MakeRecParticle(Int_t modid, TVector3 pos, AliPHOSFastRecParticle & rp) ;  // makes a reconstructes particle from primary
   Int_t   MakeType(AliPHOSFastRecParticle & rp) ;                    // gets the detected type of particle
   // gets TClonesArray of reconstructed particles
-  TClonesArray * FastRecParticles() { return fFastRecParticles ; } 
+  TClonesArray * FastRecParticles() const { return fFastRecParticles ; } 
   virtual void ResetPoints() ; 
   void         ResetFastRecParticles() ; 
   void         SetBigBox(Int_t index, Float_t value) ;                             
   Double_t     SigmaE(Double_t energy) ;    // calulates the energy resolution at a given Energy                           
-  Double_t     SigmaP(Double_t energy, Int_t inc) ; // calulates the position resolution at a given Energy at a given incidence                           
+  Double_t     SigmaP(Double_t energy, Double_t inc) ; // calulates the position resolution at a given Energy at a given incidence                           
   virtual void StepManager(void) ;          // does the tracking through PHOS and a preliminary digitalization
-
-  AliPHOSvFast & operator = (const AliPHOSvFast & rvalue)  {
-    // assignement operator requested by coding convention
-    // but not needed
-    assert(0==1) ;
-    return *this ; 
+  virtual const TString Version(void)const { 
+    // As IsVersion
+    return TString("vFast") ; 
   }
-  
+
 private:
+  AliPHOSvFast(AliPHOSvFast & fast);
+  AliPHOSvFast & operator = (const AliPHOSvFast & );
   
   Float_t fBigBoxX ;                         // main box containing all PHOS (EMC+PPSD)
   Float_t fBigBoxY ;                         // main box containing all PHOS (EMC+PPSD)
   Float_t fBigBoxZ ;                         // main box containing all PHOS (EMC+PPSD)
   TClonesArray * fFastRecParticles ;         // list of particles modified by the response function 
-  AliPHOSGeometry * fGeom ;                  // geometry definition
   Int_t fNRecParticles ;                     // number of detected particles
   TRandom fRan ;                             // random number generator
   Double_t fResPara1 ;                       // parameter for the energy resolution dependence