3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ////////////////////////////////////////////////
9 // Manager and hits classes for set:CASTOR //
10 ////////////////////////////////////////////////
12 #include "AliDetector.h"
16 class AliCASTOR : public AliDetector {
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;
31 ClassDef(AliCASTOR,1) // CASTOR detector class
36 class AliCASTORv1 : public AliCASTOR {
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
52 AliCASTORv1(const char *name, const char *title);
53 virtual ~AliCASTORv1() {}
54 virtual void CreateGeometry();
55 virtual void CreateMaterials();
57 virtual void DrawModule();
58 virtual Int_t IsVersion() const {return 1;}
59 virtual void StepManager();
61 ClassDef(AliCASTORv1,1) //Class for CASTOR version 1
66 //_____________________________________________________________________________
68 class AliCASTORhit : public AliHit {
70 Int_t fVolume; //array of volumes
74 AliCASTORhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
75 virtual ~AliCASTORhit() {}
77 ClassDef(AliCASTORhit,1) //Hits for CASTOR