]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #ifndef ITS_H |
2 | #define ITS_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 | ||
58005f18 | 8 | //////////////////////////////////////////////////////////////////////// |
9 | // Manager and hits classes for set: ITS // | |
10 | //////////////////////////////////////////////////////////////////////// | |
fe4da5cc | 11 | |
58005f18 | 12 | #include "TObjArray.h" |
fe4da5cc | 13 | #include "AliDetector.h" |
58005f18 | 14 | #include "AliITSgeom.h" |
15 | #include "AliITSdigit.h" | |
16 | #include "AliITSmodule.h" | |
fe4da5cc | 17 | |
18 | class AliITS : public AliDetector { | |
c9a71be1 | 19 | |
58005f18 | 20 | protected: |
21 | AliITSgeom *fITSgeom; // Pointer to ITS geometry | |
22 | TObjArray *fITSmodules; // Pointer to ITS modules | |
23 | // Defined here since it doesn't have a place in AliDetector like fDigit | |
24 | TObjArray *fITSpoints; // Pointer to ITS points | |
fe4da5cc | 25 | |
58005f18 | 26 | Bool_t fEuclidOut; // Flag to write out geometry in euclid format |
27 | Int_t fIdN; // the number of layers | |
28 | Int_t *fIdSens; char **fIdName; //layer identifier | |
29 | // Geometry and Stepmanager version numbers used. | |
30 | Int_t fMajorVersion,fMinorVersion; | |
31 | ||
32 | public: | |
33 | AliITS(); | |
34 | AliITS(const char *name, const char *title); | |
35 | virtual ~AliITS(); | |
36 | ||
37 | virtual void AddHit(Int_t, Int_t*, Float_t*); | |
38 | virtual void AddDigit(Int_t*, Int_t*); | |
39 | virtual Int_t AddDigit(AliITSdigit *d); | |
40 | // virtual void AddPoint(); // yet to be defined | |
41 | ||
c9a71be1 | 42 | virtual void BuildGeometry() {}; |
58005f18 | 43 | virtual void CreateGeometry() {}; |
c9a71be1 | 44 | virtual void CreateMaterials() {}; |
58005f18 | 45 | |
593d2ea1 | 46 | virtual TObjArray* GetModules() const {return fITSmodules;} |
47 | virtual TObjArray* GetPoints() const {return fITSpoints;} | |
58005f18 | 48 | |
593d2ea1 | 49 | void GetGeometryVersion(Int_t &a,Int_t &b) const |
58005f18 | 50 | {a = fMajorVersion;b=fMinorVersion;return;} |
ad0e60d9 | 51 | virtual Int_t IsVersion() const {return 1;} |
58005f18 | 52 | Int_t DistancetoPrimitive(Int_t px, Int_t py); |
53 | virtual void Init(); | |
54 | virtual void MakeBranch(Option_t *opt=" "); | |
ad0e60d9 | 55 | virtual void SetEUCLID(Bool_t euclid=1) {fEuclidOut = euclid;} |
58005f18 | 56 | virtual void StepManager()=0; |
57 | // | |
58 | // ITS geometry functions | |
593d2ea1 | 59 | virtual AliITSgeom *GetITSgeom() const {return fITSgeom;} |
60 | virtual TObjArray *GetITSpoints() const {return fITSpoints;} | |
58005f18 | 61 | |
62 | ClassDef(AliITS,1) | |
fe4da5cc | 63 | }; |
fe4da5cc | 64 | #endif |