X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDdigitsManager.h;h=658d94925e086b2ff67482f3b028e40a98bb29c8;hb=8d071f77d224a32e5b7c4c9700bdeacac56136ad;hp=6d7b6217711c0696b59aa8ca851757ffe312ae9d;hpb=3cf6cb627933f54dbc4e5d2cde0dbdbe7841b6b9;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDdigitsManager.h b/TRD/AliTRDdigitsManager.h index 6d7b6217711..658d94925e0 100644 --- a/TRD/AliTRDdigitsManager.h +++ b/TRD/AliTRDdigitsManager.h @@ -4,7 +4,7 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -/* $Id: AliTRDdigitsManager.h,v */ +/* $Id$ */ ///////////////////////////////////////////////////////////// // Manages the TRD digits // @@ -16,8 +16,10 @@ class TFile; class TTree; class AliTRDsegmentArray; -class AliTRDdataArrayI; +class AliTRDdataArray; +class AliTRDdataArrayDigits; class AliTRDdigit; +class AliTRDSignalIndex; class AliTRDdigitsManager : public TObject { @@ -30,54 +32,61 @@ class AliTRDdigitsManager : public TObject { virtual ~AliTRDdigitsManager(); AliTRDdigitsManager &operator=(const AliTRDdigitsManager &m); + virtual void Copy(TObject &m) const; + virtual void CreateArrays(); virtual void ResetArrays(); - virtual void Copy(TObject &m); - virtual Bool_t Open(const Char_t *file); - virtual Bool_t MakeBranch(const Char_t *file = 0); - virtual Bool_t MakeBranch(TTree *tree, const Char_t *file = 0); - void MakeTreeAndBranches(TFile *treeFile, Int_t iEvent); - virtual Bool_t ReadDigits(TTree *tree = 0); + virtual Bool_t BuildIndexes(Int_t det); + + virtual Bool_t MakeBranch(TTree *tree); + virtual Bool_t ReadDigits(TTree *tree); virtual Bool_t WriteDigits(); - virtual void SetRaw(); - virtual void SetEvent(Int_t evt) { fEvent = evt; }; - virtual void SetDebug(Int_t v = 1) { fDebug = v; }; - virtual void SetSDigits(Int_t v = 1) { fSDigits = v; }; + virtual void SetEvent(Int_t evt) { fEvent = evt; }; + virtual void SetSDigits(Int_t v = 1) { fHasSDigits = v; }; + virtual void SetUseDictionaries(Bool_t kval) { fUseDictionaries = kval; }; - virtual Bool_t IsRaw() const { return fIsRaw; }; - static Int_t NDict() { return fgkNDict; }; + virtual Bool_t UsesDictionaries() const { return fUseDictionaries; }; + virtual Bool_t HasSDigits() const { return fHasSDigits; }; + static Int_t NDict() { return fgkNDict; }; - virtual AliTRDsegmentArray *GetDigits() const { return fDigits; }; - virtual AliTRDsegmentArray *GetDictionary(Int_t i) const { return fDictionary[i]; }; + virtual AliTRDsegmentArray *GetDigits() const { return fDigits; }; + virtual AliTRDsegmentArray *GetDictionary(Int_t i) const { return fDictionary[i]; }; AliTRDdigit *GetDigit(Int_t row, Int_t col, Int_t time, Int_t det) const; Int_t GetTrack(Int_t track, Int_t row, Int_t col , Int_t time, Int_t det) const; - AliTRDdataArrayI *GetDigits(Int_t det) const; - AliTRDdataArrayI *GetDictionary(Int_t det, Int_t i) const; - Int_t GetTrack(Int_t track, AliTRDdigit *Digit) const; + AliTRDdataArrayDigits *GetDigits(Int_t det) const; + AliTRDdataArray *GetDictionary(Int_t det, Int_t i) const; + + AliTRDSignalIndex *GetIndexes(Int_t det); + TObjArray *GetIndexes() { return fSignalIndexes; }; + + void RemoveDigits(Int_t det); + void RemoveDictionaries(Int_t det); + void ClearIndexes(Int_t det); + + Int_t GetTrack(Int_t track, AliTRDdigit *digit) const; Short_t GetDigitAmp(Int_t row, Int_t col, Int_t time, Int_t det) const; + UChar_t GetPadStatus(Int_t row, Int_t col, Int_t time, Int_t det) const; protected: static const Int_t fgkNDict; // Number of track dictionary arrays Int_t fEvent; // Event number - - TFile *fFile; //! File containing the TRD digits tree - Bool_t fFileCreated; //! Flag set if file was created by the digits manager TTree *fTree; //! Tree for the digits arrays AliTRDsegmentArray *fDigits; //! Digits data array AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array - Bool_t fIsRaw; // Flag indicating raw digits - Bool_t fSDigits; // Switch for the summable digits - Int_t fDebug; // Debug flag + Bool_t fHasSDigits; // Switch for the summable digits + + TObjArray *fSignalIndexes; // Provides access to the active pads and tbins + Bool_t fUseDictionaries; // Use dictionaries or not (case of real data) - ClassDef(AliTRDdigitsManager,4) // Manages the TRD digits + ClassDef(AliTRDdigitsManager,7) // Manages the TRD digits };