3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
11 //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
13 // --- ROOT system ---
16 // --- AliRoot header files ---
18 #include "AliDetector.h"
19 #include "AliPHOSGeometry.h"
20 #include "AliRecPoint.h"
21 #include "AliPHOSTrackSegment.h"
22 #include "AliPHOSRecParticle.h"
24 class AliPHOS : public AliDetector {
29 AliPHOS(const char* name, const char* title="");
30 AliPHOS(const AliPHOS & phos) {
31 // cpy ctor: no implementation yet
32 // requested by the Coding Convention
36 virtual void AddHit(Int_t, Int_t*, Float_t *) {
37 // do not used this definition but the one below
40 virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) = 0 ;
41 virtual void CreateMaterials() ;
42 virtual AliPHOSRecPoint::RecPointsList ** EmcRecPoints() {
43 // Getting list of RecPoints
44 return &fEmcRecPoints ;
46 virtual AliPHOSGeometry * GetGeometry() = 0 ;
47 virtual void Hit2Digit(){} // Will convert hits to digits in versions v1 etc
49 virtual Int_t IsVersion(void) const { return -1 ; }
50 virtual AliPHOSRecPoint::RecPointsList ** PpsdRecPoints() {
51 // to be redefined when ppsd is present
52 return & fPpsdRecPoints ;
54 virtual AliPHOSRecPoint::RecPointsList ** CpvRecPoints() {
55 // to be redefined when cpv is present
56 return & fCpvRecPoints ;
58 virtual void SetTreeAddress();
59 virtual AliPHOSRecParticle::RecParticlesList ** RecParticles() {
60 // Getting list of RecParticles
61 return & fRecParticles ;
63 virtual AliPHOSTrackSegment::TrackSegmentsList ** TrackSegments() {
64 // Getting list of TrackSegments
65 return & fTrackSegments ;
67 virtual TString Version() {return TString(" ") ; }
69 AliPHOS & operator = (const AliPHOS & rvalue) {
70 // assignement operator requested by coding convention
78 AliPHOSRecPoint::RecPointsList *fEmcRecPoints ; // The RecPoints (clusters) list in EMC
79 AliPHOSRecPoint::RecPointsList *fPpsdRecPoints ;// The RecPoints (clusters) list in PPSD (veto)
80 AliPHOSRecPoint::RecPointsList *fCpvRecPoints ; // The RecPoints (clusters) list in CPV (veto)
81 AliPHOSTrackSegment::TrackSegmentsList *fTrackSegments ;// The TrackSegment list in PHOS
82 AliPHOSRecParticle::RecParticlesList *fRecParticles ; // The reconstructed particles list in PHOS
84 ClassDef(AliPHOS,2) // Photon Spectrometer Detector (base class)