X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSdigit.h;h=3045d5522bf59bf3a271a0c15ea3df66536fdb12;hb=a1ecbc973fb74bf37be8e8916f9a75ea701bd458;hp=f498dd3e34c60fd0ef9c110a5af9ff0c2555b099;hpb=7fc27b48a91866b87c3c0f09ea8f939ca1957320;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSdigit.h b/ITS/AliITSdigit.h index f498dd3e34c..3045d5522bf 100644 --- a/ITS/AliITSdigit.h +++ b/ITS/AliITSdigit.h @@ -1,175 +1,74 @@ #ifndef ALIITSDIGIT_H #define ALIITSDIGIT_H +/* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* $Id$ */ //////////////////////////////////////////////// -// Digits classes for set:ITS // +// Digits classes for all ITS detectors // //////////////////////////////////////////////// -#include +#include +#include #include +class TObjArray; +class TArrayI; +class TArrayF; -//___________________________________________ -class AliITSdigit: public TObject { - -public: - - Int_t fCoord1; // Cell number on Z axis (SPD+SDD) , flag for side type (SSD) - Int_t fCoord2 ; // Cell number on X axis (SPD+SDD) , strip number (SSD) - Int_t fSignal; // Signal in ADC counts - -public: - AliITSdigit() { - // constructor - fSignal=fCoord1=fCoord2=0; - } - AliITSdigit(Int_t *digits); - virtual ~AliITSdigit() { - // destructor - } - - virtual int *GetTracks() {return 0;} - virtual Int_t *GetHits() {return 0;} - - ClassDef(AliITSdigit,1) // Real data digit object for set:ITS - }; - -//___________________________________________ -class AliITSdigitSPD: public AliITSdigit { - -public: - - // debugging -- goes to the dictionary - Int_t fTracks[3]; // tracks making this digit - Int_t fHits[3]; // hits associated to the tracks - // 3 hits temporarily - it will be only 1 - -public: - - AliITSdigitSPD(); - AliITSdigitSPD(Int_t *digits); - AliITSdigitSPD(Int_t *digits, Int_t *tracks, Int_t *hits); - - virtual ~AliITSdigitSPD(){ - // destructor - } - virtual int *GetTracks() { - // returns pointer to the array of tracks which make this digit - return &fTracks[0]; - } - - virtual Int_t *GetHits(){ - // returns the pointer to the array of hits which made this digit - return &fHits[0]; - } - - ClassDef(AliITSdigitSPD,1) // Simulated digit object for SPD - }; - -//___________________________________________ -class AliITSdigitSDD: public AliITSdigit { - -public: - - // debugging -- goes to the dictionary - Int_t fTracks[3]; // tracks making this digit - Int_t fHits[3]; // hits associated to the tracks - // 3 hits temporarily - it will be only 1 - Float_t fTcharges[3]; // charge per track making this digit - Float_t fPhysics; // signal particles contribution to signal - -public: - AliITSdigitSDD(); - AliITSdigitSDD(Float_t phys,Int_t *digits); - AliITSdigitSDD( Float_t phys, Int_t *digits, Int_t *tracks, Int_t *hits, Float_t *charges); - - virtual ~AliITSdigitSDD(){ - // destructor - } - virtual int *GetTracks() { - // returns pointer to the array of tracks which make this digit - return &fTracks[0]; - } - - virtual Int_t *GetHits(){ - // returns the pointer to the array of hits which made this digit - return &fHits[0]; - } - - ClassDef(AliITSdigitSDD,1) // Simulated digit object for SDD - }; - -//_____________________________________________________________________________ - -class AliITSTransientDigit : public AliITSdigitSDD { -public: - TObjArray *fTrackList; // track list -public: - AliITSTransientDigit() { - // constructor - fTrackList=0; - } - AliITSTransientDigit(Float_t phys,Int_t *digits); - virtual ~AliITSTransientDigit() { - // destructor - delete fTrackList; - } - AliITSTransientDigit(const AliITSTransientDigit &source); // copy constructor - AliITSTransientDigit& operator=(const AliITSTransientDigit &source); // ass. operator - TObjArray *TrackList() { - // returns pointer to the TObjArray of tracks and associated charges - return fTrackList; - } - - ClassDef(AliITSTransientDigit,1) // Transient digit for set: ITS - }; - -//___________________________________________ -class AliITSdigitSSD: public AliITSdigit { - -public: - - // debugging -- goes to the dictionary - Int_t fTracks[3]; // tracks making this digit - Int_t fHits[3]; // hits associated to the tracks - // 3 hits temporarily - it will be only 1 - -public: - AliITSdigitSSD(); - AliITSdigitSSD(Int_t *digits); - AliITSdigitSSD(Int_t *digits, Int_t *tracks, Int_t *hits); - - virtual ~AliITSdigitSSD(){ - // destructor - } - - Int_t GetSignal() const { - // returns signal - return fSignal; - } - - Int_t GetStripNumber() const { - // returns strip number - return fCoord2; - } - - Int_t IsSideP() const { - //returns 1 when side P and 0 when side N - return fCoord1; - } - - virtual int *GetTracks() { - // returns pointer to the array of tracks which make this digit - return &fTracks[0]; - } - - virtual Int_t *GetHits(){ - // returns the pointer to the array of hits which made this digit - return &fHits[0]; - } - - ClassDef(AliITSdigitSSD,1) // Simulated digit object for SSD - }; +//______________________________________________________________________ +class AliITSdigit: public TObject { + public: + AliITSdigit(); + //Standard Constructor. Fills class from array digits + AliITSdigit(const Int_t *digits); + //Destructor + virtual ~AliITSdigit() { } + // returns the array size used to store Tracks and Hits + static Int_t GetNTracks() {return fgkSize;} + //returns pointer to array of tracks numbers + virtual Int_t *GetTracks() {return &fTracks[0];} + // returns pointer to array of hits numbers for this module (as given by + // AliITSmodule). + virtual Int_t *GetHits() {return &fHits[0];} + // returns track number kept in the array element i of fTracks + virtual Int_t GetTrack(Int_t i) const {return fTracks[i];} + // returns hit number kept in the array element i of fHits + virtual Int_t GetHit(Int_t i) const {return fHits[i];} + virtual Int_t GetCoord1() const {return fCoord1;} // returns fCoord1 + virtual Int_t GetCoord2() const {return fCoord2;} // returns fCoord2 + virtual Int_t GetSignal() const {return fSignal;} // returns fSignal + virtual Int_t GetCompressedSignal() const {return GetSignal();} // overloaded in AliITSdigitSDD + virtual void SetCoord1(Int_t i){fCoord1 = i;} // Sets fCoord1 value + virtual void SetCoord2(Int_t i){fCoord2 = i;} // Sets fCoord12value + virtual void SetSignal(Int_t i){fSignal = i;} // Sets fSignal value + virtual void SetTrack(Int_t i,Int_t trk){fTracks[i]=trk;} + virtual void SetTracks(const Int_t *trks){ + for(Int_t i=0;i>(istream &os,AliITSdigit &source); #endif