]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSv2.h
Unecessary copy of AliPHOSHit object has been removed from AddHit member function...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSv2.h
index 083d7e3f09919c3a1e74517cdfc5e5ec4a35d49e..2570a394fd75abef64f1cbc84e4fa14b37ae5278 100644 (file)
-#ifndef ALIPHOS_H
-#define ALIPHOS_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+#ifndef ALIPHOSV2_H
+#define ALIPHOSV2_H
+/* Copyright(c) 1998-1999-2000, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-////////////////////////////////////////////////
-//  Manager and hits classes for PHOS     //
-//  Version 2                                 //
-//  Author M. Volkov, RRC KI                  //
-////////////////////////////////////////////////
+//_________________________________________________________________________
+// Version of AliPHOSv0 which keeps all hits in TreeH
+// I mean real hits not cumulated hits
+//  This version is NOT recommended for Reconstruction analysis
+//                  
+//*-- Author: Gines MARTINEZ (SUBATECH)
 
 // --- ROOT system ---
-#include <TArray.h> 
-#include <TRandom.h> 
 
-// --- galice header files ---
-#include "AliPHOS.h"
-#include "AliHit.h"
+// --- AliRoot header files ---
+#include "AliPHOSv1.h"
 
-class AliPHOSv2 : public AliPHOS {
+class AliPHOSv2 : public AliPHOSv1 {
 
-protected:
-  Float_t fXtlSize[3]; // PWO crystal dimensions
-  Float_t fWrapThickness; // Thickness of Tyvek wrapper
-  Float_t fPINSize[3]; // PIN diode dimensions
-  Float_t fCPVThickness; // CPV thickness
-  Float_t fPHOSFoam[3]; // Outer foam cover dimensions
-  Float_t fPHOStxwall[3]; // Textolit box dimensions
-  Float_t fPHOSAir[3]; // Inner air filled volume dimensions
-  Float_t fRadius[2]; // Distances from IP to outer cover and to Xtal surface
-  Float_t fPHOSextra[10]; // Assorted geometrical parameters
-  Int_t   fNphi; // Number of crystal units in X (phi) direction
-  Int_t   fNz; // Number of crystal units in Z direction
-  Float_t fNModules; // Number of modules constituing PHOS
-  Float_t fPHOSAngle[4]; // Position angles of modules
-  
 public:
-  AliPHOSv2(void);
-  AliPHOSv2(const char *name, const char *title="");
-  virtual ~AliPHOSv2(void);
-
-  virtual Int_t IsVersion(void) const {return 2;}
-
-  virtual void DefPars(void);
-
-  virtual void BuildGeometry(void);
-  virtual void CreateGeometry(void);
-  virtual void CreateMaterials(void);
-
-  virtual void Init(void);
-
-  virtual void StepManager(void);
 
-  virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits);
+  AliPHOSv2(void) ;
+  AliPHOSv2(const char *name, const char *title="") ;
+  virtual ~AliPHOSv2(void) ;
 
-  virtual Float_t GetCrystalSize(Int_t n) const {return fXtlSize[n];}
-  virtual Float_t GetWrapThickness(void) const {return fWrapThickness;}
-  virtual Float_t GetPINSize(Int_t n) const {return fPINSize[n];}
-  virtual Float_t GetCPVThickness(void) const {return fCPVThickness;}
-  virtual Float_t GetPHOSFoam(Int_t n) const {return fPHOSFoam[n];}
-  virtual Float_t GetPHOStxwall(Int_t n) const {return fPHOStxwall[n];}
-  virtual Float_t GetPHOSAir(Int_t n) const {return fPHOSAir[n];}
-  virtual Float_t GetRadius(Int_t n) const {return fRadius[n];}
-  virtual Float_t GetPHOSextra(Int_t n) const {return fPHOSextra[n];}
-  virtual Int_t   GetNphi(void) const {return fNphi;}
-  virtual Int_t   GetNz(void) const {return fNz;}
-  virtual Float_t GetNModules(void) const {return fNModules;}
-  virtual Float_t &GetModuleAngle(Int_t n) {return fPHOSAngle[n];}
-
-ClassDef(AliPHOSv2,1)  // Hits manager for PHOS, version 2
-
-};
-
-//////////////////////////////////////////////////////////////////////////////
-
-class AliPHOShitv2 : public AliHit{
+  virtual void    AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits); 
+  virtual Int_t   IsVersion(void) const { 
+    // Gives the version number 
+    return 2 ; 
+  }
+  virtual TString Version(void){ 
+    // returns the version number 
+    return TString("v2") ; 
+  }
 
 protected:
-  Int_t     fVolume[4];  //array of volumes. This is not GEANT NUMBV(), it is (BOX,LAYER,ROW,COLUMN) array.
-  Float_t   fELOS;       //Energy deposited
-  
-public:
-  AliPHOShitv2(void) {;}
-  AliPHOShitv2(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
-  AliPHOShitv2(AliPHOShitv2 const &rValue){*this=rValue;}
-  virtual ~AliPHOShitv2(void) {;}
-  
-  Int_t GetVolume(Int_t i) const {return fVolume[i];}
-  Float_t GetEnergy(void) const {return fELOS;}
-  
-  Bool_t operator==(AliPHOShitv2 const &rValue) const;
-  AliPHOShitv2 const operator+(AliPHOShitv2 const &rValue) const;
 
-ClassDef(AliPHOShitv2,1)  // Hits object for PHOS
+  ClassDef(AliPHOSv2,1)  // Class AliPHOSv0 which allows to write ond disk al the information of the hits. 
 
 };
 
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //#ifndef ALIPHOS_H
+#endif // AliPHOSV2_H