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 |