]> git.uio.no Git - u/mrichter/AliRoot.git/blob - CASTOR/AliCASTOR.h
Coding convention rules obeyed
[u/mrichter/AliRoot.git] / CASTOR / AliCASTOR.h
1 #ifndef CASTOR_H
2 #define CASTOR_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:CASTOR     //
10 ////////////////////////////////////////////////
11  
12 #include "AliDetector.h"
13 #include "AliHit.h"
14  
15  
16 class AliCASTOR : public AliDetector {
17  
18 public:
19   AliCASTOR();
20   AliCASTOR(const char *name, const char *title);
21   virtual      ~AliCASTOR() {}
22   virtual void  AddHit(Int_t, Int_t*, Float_t*);
23   virtual void  BuildGeometry();
24   virtual void  CreateGeometry() {}
25   virtual void  CreateMaterials() {}
26   virtual Int_t IsVersion() const =0;
27   Int_t         DistancetoPrimitive(Int_t px, Int_t py);
28   virtual void  DrawModule()=0;
29   virtual void  StepManager()=0;
30   
31   ClassDef(AliCASTOR,1)  // CASTOR detector class
32 };
33  
34  
35  
36 class AliCASTORv1 : public AliCASTOR {
37
38 private:
39
40   Int_t fOdFiber;           //Tracking medium of fiber
41   Int_t fOdCladding;        //Tracking medium of cladding
42   Int_t fOdAbsorber;        //Tracking medium absorber
43   Int_t fOctants;           //Number of azimutal sectors
44   Int_t fLayersEM;          //Number of EM layers
45   Int_t fLayersHad;         //Number of hadronic layers
46   Float_t fPhiOct;          //Phi opening of azimutal sectors
47   Float_t fRadCore;         //Radius of fiber core
48   Float_t fRadFactor;       //Normalisation factor for radius
49   
50 public:
51   AliCASTORv1();
52   AliCASTORv1(const char *name, const char *title);
53   virtual      ~AliCASTORv1() {}
54   virtual void  CreateGeometry();
55   virtual void  CreateMaterials();
56   virtual void  Init();
57   virtual void  DrawModule();
58   virtual Int_t IsVersion() const {return 1;}
59   virtual void  StepManager();
60  
61    ClassDef(AliCASTORv1,1)  //Class for CASTOR version 1
62 };
63  
64  
65  
66 //_____________________________________________________________________________
67  
68 class AliCASTORhit : public AliHit {
69 public:
70   Int_t      fVolume;     //array of volumes
71  
72 public:
73   AliCASTORhit() {}
74   AliCASTORhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
75   virtual ~AliCASTORhit() {}
76  
77   ClassDef(AliCASTORhit,1)  //Hits for CASTOR
78 };
79  
80 #endif