]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSvFast.h
PPR version of the JETAN code (M. Lopez Noriega)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvFast.h
index 2174a6c20214c27fcf2286b45c2187d96732988d..9b29db1e165f558d935b9ce78c26ff6272082971 100644 (file)
@@ -5,6 +5,11 @@
 
 /* $Id$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ */
+
 //_________________________________________________________________________
 // Implementation of the PHOS manager class for fast simulations     
 // Tracks particles until the reach a grossly designed PHOS module
@@ -15,7 +20,7 @@
 //*-- Author: Yves Schutz (SUBATECH)
 
 // --- ROOT system ---
-#include "TClonesArray.h"
+//#include "TClonesArray.h"
 #include "TRandom.h"
 
 class TVector3 ;
@@ -32,17 +37,12 @@ public:
 
   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) ; 
+  AliPHOSvFast(AliPHOSvFast & fast) : AliPHOS(fast) {
+    fast.Copy(*this) ; 
   }
   virtual ~AliPHOSvFast(void) ;
 
-  virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) {
-    // useless since there are no hits
-    assert(0==1) ; 
-  }
+  virtual void Copy(TObject &fast) const; 
   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
@@ -50,14 +50,14 @@ public:
   virtual void   Init(void) ;                                        // does nothing
   virtual Int_t  IsVersion(void) const {
     // Gives the version number 
-    return 4 ; 
+    return 99 ; 
   }
 
-  void    MakeBranch(Option_t* opt, const 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) ; 
+  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() const { return fFastRecParticles ; } 
@@ -65,17 +65,15 @@ public:
   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
-  virtual TString Version(void)
+  virtual const TString Version(void)const 
     // As IsVersion
     return TString("vFast") ; 
   }
 
   AliPHOSvFast & operator = (const AliPHOSvFast & )  {
-    // assignement operator requested by coding convention but not needed
-    assert(0==1) ;
-    return *this ; 
+    Fatal("operator =", "not implemented") ; return *this ; 
   }
   
 private: