]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITS.h
7126758972a0e59b596f9ecfde33079b29038772
[u/mrichter/AliRoot.git] / ITS / AliITS.h
1 #ifndef ITS_H
2 #define ITS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////////////////////////
9 //           Manager and hits classes for set: ITS                    //
10 ////////////////////////////////////////////////////////////////////////
11
12 #include "TObjArray.h"
13 #include "AliDetector.h"
14 #include "AliITSgeom.h"
15 #include "AliITSdigit.h"
16 #include "AliITSmodule.h"
17
18 class AliITS : public AliDetector {
19
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
25
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
42            virtual void   BuildGeometry() {};
43            virtual void   CreateGeometry() {};
44            virtual void   CreateMaterials() {};
45
46            virtual TObjArray* GetModules() const {return fITSmodules;}
47            virtual TObjArray* GetPoints() const {return fITSpoints;}
48
49            void GetGeometryVersion(Int_t &a,Int_t &b) const 
50       {a = fMajorVersion;b=fMinorVersion;return;}
51            virtual Int_t  IsVersion() const {return 1;}
52                    Int_t  DistancetoPrimitive(Int_t px, Int_t py);
53            virtual void   Init();
54            virtual void   MakeBranch(Option_t *opt=" ");
55            virtual void   SetEUCLID(Bool_t euclid=1) {fEuclidOut = euclid;}
56            virtual void   StepManager()=0;
57     //
58     // ITS geometry functions
59            virtual AliITSgeom *GetITSgeom() const {return fITSgeom;}
60            virtual TObjArray  *GetITSpoints() const {return fITSpoints;}
61
62     ClassDef(AliITS,1)
63 };
64 #endif