X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSv2.h;h=abda045f4096188fedc1b1d444f6dab2e6f9be4a;hb=0a6c54a10fce86a62cb6f8f8f36b8ecdd8ffa811;hp=d48cad48b1f6d362f218274251899d60dd092815;hpb=3da306186bdfe9b8dedf54c4b9cdcf2bff5b132c;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSv2.h b/PHOS/AliPHOSv2.h index d48cad48b1f..abda045f409 100644 --- a/PHOS/AliPHOSv2.h +++ b/PHOS/AliPHOSv2.h @@ -1,102 +1,58 @@ -#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 // -//////////////////////////////////////////////// +/* History of cvs commits: + * + * $Log$ + * Revision 1.19 2005/07/01 20:01:36 kharlov + * Warning fix on AddHit in gcc 3.4.2 + * + * Revision 1.18 2005/05/28 14:19:05 schutz + * Compilation warnings fixed by T.P. + * + */ + +//_________________________________________________________________________ +// 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 -#include -// --- galice header files --- -#include "AliDetector.h" -#include "AliHit.h" +// --- AliRoot header files --- +#include "AliPHOSv1.h" -class AliPHOSv2 : public AliDetector{ +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 - Float_t fNphi; // Number of crystal units in X (phi) direction - Float_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;} + AliPHOSv2(void) ; + AliPHOSv2(const char *name, const char *title="") ; + virtual ~AliPHOSv2(void) ; - virtual void DefPars(void); + using AliPHOSv1::AddHit; + virtual void AddHit( Int_t shunt, Int_t primary, Int_t id, Float_t *hits); + virtual Int_t IsVersion(void) const { + // Gives the version number + return 2 ; + } + virtual const TString Version(void)const { + // returns the version number + return TString("v2") ; + } - virtual void BuildGeometry(void); - virtual void CreateGeometry(void); - virtual void CreateMaterials(void); +private: - virtual void Init(void); + AliPHOSv2(AliPHOSv2 & phos); - virtual void StepManager(void); - - virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); - - 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 Float_t GetNphi(void) const {return fNphi;} - virtual Float_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 + ClassDef(AliPHOSv2,1) // Class AliPHOSv0 which allows to write ond disk al the information of the hits. }; -////////////////////////////////////////////////////////////////////////////// - -class AliPHOShitv2 : public AliHit{ - -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 - -}; - -////////////////////////////////////////////////////////////////////////////// - -#endif //#ifndef ALIPHOS_H +#endif // AliPHOSV2_H