e324b311f9645c6ec3ab329cac56eea867037bf8
[u/mrichter/AliRoot.git] / STEER / AliDebugVolume.h
1 #ifndef ALIDEBUGVOLUME_H
2 #define ALIDEBUGVOLUME_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 #include "TNamed.h"
9 class AliDebugVolume : public TNamed  {
10
11 public:
12   AliDebugVolume();
13   AliDebugVolume(const char *name, Int_t copy,
14                  Float_t step, Float_t x, Float_t y, Float_t z, Int_t status);
15   AliDebugVolume(const AliDebugVolume &volume) {volume.Copy(*this);}
16   virtual ~AliDebugVolume(){;}
17   
18   void  Copy(AliDebugVolume &lego) const;
19   virtual AliDebugVolume &operator=(const AliDebugVolume &volume) 
20   {volume.Copy(*this); return(*this);}
21
22   Int_t   CopyNumber() const {return fCopy;}
23   Float_t Step()       const {return fStep;}
24   Float_t X()          const {return fX;}  
25   Float_t Y()          const {return fY;}
26   Float_t Z()          const {return fZ;}
27   char*   Status()     const;
28   
29   
30   Bool_t  IsEqual(const char* name, const Int_t copy);
31 private:
32    Int_t      fCopy;             //!Volume copy number
33    Float_t    fStep;             //!Stepsize to volume boundary
34    Float_t    fX;                // x
35    Float_t    fY;                // y
36    Float_t    fZ;                // z of boundary crossing
37    Int_t      fStatus;           // tracking status
38    
39   ClassDef(AliDebugVolume,1)      //Utility class to store volume information
40                                   //during debugging 
41
42 };
43
44
45 #endif