X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliDetector.h;h=b42b9ade53a26fc95a876f18801c96b9d09aad46;hb=3d7ed4edaf2906d330312fe293dc0fc134a6a47c;hp=5b006a6cfb9b4eee9df4362fae401c44d9f4a9f8;hpb=ae9676e49efdd9e74238cbd629be854aedeb1253;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliDetector.h b/STEER/AliDetector.h index 5b006a6cfb9..b42b9ade53a 100644 --- a/STEER/AliDetector.h +++ b/STEER/AliDetector.h @@ -5,11 +5,19 @@ /* $Id$ */ -#include +// +// This is the basic detector class from which +// all ALICE detector derive. +// This class is the base for the implementation of all detectors +// in ALICE +// + +#include "AliModule.h" + class AliHit; -class AliTrackReference; class TTree; class TBranch; +class AliLoader; class AliDetector : public AliModule { @@ -18,50 +26,46 @@ public: // Creators - distructors AliDetector(const char* name, const char *title); AliDetector(); - AliDetector(const AliDetector &det) {det.Copy(*this);} virtual ~AliDetector(); // Inline functions - void Copy(AliDetector &det) const; virtual int GetNdigits() const {return fNdigits;} virtual int GetNhits() const {return fNhits;} TClonesArray *Digits() const {return fDigits;} TClonesArray *Hits() const {return fHits;} - TClonesArray *TrackReferences() const {return fTrackReferences;} - virtual void RemapTrackReferencesIDs(Int_t *map); //remaping track references MI + virtual Bool_t IsModule() const {return kFALSE;} + virtual Bool_t IsDetector() const {return kTRUE;} - TObjArray *Points() const {return fPoints;} Int_t GetIshunt() const {return fIshunt;} void SetIshunt(Int_t ishunt) {fIshunt=ishunt;} - AliDetector &operator=(const AliDetector &det) - {det.Copy(*this); return (*this);} // Other methods - virtual void Publish(const char *dir, void *c, const char *name=0); + virtual void Publish(const char *dir, void *c, const char *name=0) const; virtual void Browse(TBrowser *b); virtual void FinishRun(); - virtual void LoadPoints(Int_t track); - virtual void MakeBranch(Option_t *opt=" ", const char *file=0 ); - virtual void MakeBranchTR(Option_t *opt=" ", const char *file=0 ); + virtual void MakeBranch(Option_t *opt=" "); virtual void ResetDigits(); virtual void ResetHits(); - virtual void ResetTrackReferences(); + virtual void AddAlignableVolumes() const; - virtual void ResetPoints(); virtual void SetTreeAddress(); virtual void SetTimeGate(Float_t gate) {fTimeGate=gate;} virtual Float_t GetTimeGate() const {return fTimeGate;} virtual void StepManager() {} - virtual void DrawModule() {} + virtual void DrawModule() const {} virtual AliHit* FirstHit(Int_t track); virtual AliHit* NextHit(); - virtual AliTrackReference * FirstTrackReference(Int_t track); - virtual AliTrackReference * NextTrackReference(); virtual void SetBufferSize(Int_t bufsize=8000) {fBufferSize = bufsize;} virtual TBranch* MakeBranchInTree(TTree *tree, const char* cname, void* address, Int_t size=32000, const char *file=0); virtual TBranch* MakeBranchInTree(TTree *tree, const char* cname, const char* name, void* address, Int_t size=32000, Int_t splitlevel=99, const char *file=0); - - // Data members + + void MakeTree(Option_t *option); //skowron + virtual void RemapTrackHitIDs(Int_t *) {} + + virtual AliLoader* MakeLoader(const char* topfoldername); //builds standard getter (AliLoader type) + void SetLoader(AliLoader* loader){fLoader = loader;} + AliLoader* GetLoader() const {return fLoader;} //skowron + // Data members protected: Float_t fTimeGate; //Time gate in seconds @@ -70,13 +74,17 @@ protected: Int_t fNhits; //!Number of hits Int_t fNdigits; //!Number of digits Int_t fBufferSize; //!buffer size for Tree detector branches - TClonesArray *fHits; //List of hits for one track only - TClonesArray *fDigits; //List of digits for this detector - char *fDigitsFile; //!File to store branches of digits tree for detector - TObjArray *fPoints; //!Array of points for each track (all tracks in memory) - TClonesArray *fTrackReferences; //list of track references - for one primary track only -MI - Int_t fMaxIterTrackRef; //!for track refernce iterator routines - Int_t fCurrentIterTrackRef; //!for track refernce iterator routines - ClassDef(AliDetector,2) //Base class for ALICE detectors + Int_t fMaxIterHit; //!Limit for the hit iterator + Int_t fCurIterHit; //!Counter for the hit iterator + TClonesArray *fHits; //!List of hits for one track only + TClonesArray *fDigits; //!List of digits for this detector + + AliLoader* fLoader;//! pointer to getter for this module skowron + + private: + AliDetector(const AliDetector &det); + AliDetector &operator=(const AliDetector &det); + + ClassDef(AliDetector,5) //Base class for ALICE detectors }; #endif