3 ////////////////////////////////////////////////
4 // Manager and hits classes for set:CASTOR //
5 ////////////////////////////////////////////////
7 #include "AliDetector.h"
11 class AliCASTOR : public AliDetector {
15 AliCASTOR(const char *name, const char *title);
16 virtual ~AliCASTOR() {}
17 virtual void AddHit(Int_t, Int_t*, Float_t*);
18 virtual void BuildGeometry();
19 virtual void CreateGeometry() {}
20 virtual void CreateMaterials() {}
21 virtual Int_t IsVersion() const =0;
22 Int_t DistancetoPrimitive(Int_t px, Int_t py);
23 virtual void DrawDetector()=0;
24 virtual void StepManager()=0;
26 ClassDef(AliCASTOR,1) // CASTOR detector class
31 class AliCASTORv1 : public AliCASTOR {
35 Int_t fOdFiber; //Tracking medium of fiber
36 Int_t fOdCladding; //Tracking medium of cladding
37 Int_t fOdAbsorber; //Tracking medium absorber
38 Int_t fOctants; //Number of azimutal sectors
39 Int_t fLayersEM; //Number of EM layers
40 Int_t fLayersHad; //Number of hadronic layers
41 Float_t fPhiOct; //Phi opening of azimutal sectors
42 Float_t fRadCore; //Radius of fiber core
43 Float_t fRadFactor; //Normalisation factor for radius
47 AliCASTORv1(const char *name, const char *title);
48 virtual ~AliCASTORv1() {}
49 virtual void CreateGeometry();
50 virtual void CreateMaterials();
52 virtual void DrawDetector();
53 virtual Int_t IsVersion() const {return 1;}
54 virtual void StepManager();
56 ClassDef(AliCASTORv1,1) //Class for CASTOR version 1
61 //_____________________________________________________________________________
63 class AliCASTORhit : public AliHit {
65 Int_t fVolume; //array of volumes
69 AliCASTORhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
70 virtual ~AliCASTORhit() {}
72 ClassDef(AliCASTORhit,1) //Hits for CASTOR