]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliDetector.h
Possibility to define the magnetic field in the reconstruction (Yu.Belikov)
[u/mrichter/AliRoot.git] / STEER / AliDetector.h
CommitLineData
8918e700 1#ifndef ALIDETECTOR_H
2#define ALIDETECTOR_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8494b010 8#include <AliModule.h>
94de3818 9class AliHit;
2ab0c725 10class TTree;
fe4da5cc 11
8494b010 12class AliDetector : public AliModule {
fe4da5cc 13
fe4da5cc 14public:
15
16 // Creators - distructors
17 AliDetector(const char* name, const char *title);
18 AliDetector();
8918e700 19 AliDetector(const AliDetector &det) {det.Copy(*this);}
fe4da5cc 20 virtual ~AliDetector();
21
22 // Inline functions
ef42d733 23 void Copy(AliDetector &det) const;
94de3818 24 virtual int GetNdigits() const {return fNdigits;}
25 virtual int GetNhits() const {return fNhits;}
26 TClonesArray *Digits() const {return fDigits;}
27 TClonesArray *Hits() const {return fHits;}
28 TObjArray *Points() const {return fPoints;}
29 Int_t GetIshunt() const {return fIshunt;}
8918e700 30 void SetIshunt(Int_t ishunt) {fIshunt=ishunt;}
ef42d733 31 AliDetector &operator=(const AliDetector &det)
8918e700 32 {det.Copy(*this); return (*this);}
fe4da5cc 33
fe4da5cc 34 // Other methods
fe4da5cc 35 virtual void Browse(TBrowser *b);
fe4da5cc 36 virtual void FinishRun();
fe4da5cc 37 virtual void LoadPoints(Int_t track);
2ab0c725 38 virtual void MakeBranch(Option_t *opt=" ", char *file=0 );
fe4da5cc 39 virtual void ResetDigits();
40 virtual void ResetHits();
41 virtual void ResetPoints();
42 virtual void SetTreeAddress();
43 virtual void SetTimeGate(Float_t gate) {fTimeGate=gate;}
94de3818 44 virtual Float_t GetTimeGate() const {return fTimeGate;}
8494b010 45 virtual void StepManager() {}
46 virtual void DrawModule() {}
8918e700 47 virtual AliHit* FirstHit(Int_t track);
fe4da5cc 48 virtual AliHit* NextHit();
49 virtual void SetBufferSize(Int_t bufsize=8000) {fBufferSize = bufsize;}
fe4da5cc 50
8918e700 51 // Data members
52protected:
53
54 Float_t fTimeGate; //Time gate in seconds
55
56 Int_t fIshunt; //1 if the hit is attached to the primary
2ab0c725 57 Int_t fNhits; //!Number of hits
58 Int_t fNdigits; //!Number of digits
59 Int_t fBufferSize; //!buffer size for Tree detector branches
8918e700 60 TClonesArray *fHits; //List of hits for one track only
61 TClonesArray *fDigits; //List of digits for this detector
2ab0c725 62 char *fDigitsFile; //!File to store branches of digits tree for detector
63 TObjArray *fPoints; //!Array of points for each track (all tracks in memory)
8918e700 64
fe4da5cc 65 ClassDef(AliDetector,1) //Base class for ALICE detectors
66};
67#endif