]> git.uio.no Git - u/mrichter/AliRoot.git/blame - CASTOR/AliCASTOR.h
moved from category physics to global (to eliminate circular dependence)
[u/mrichter/AliRoot.git] / CASTOR / AliCASTOR.h
CommitLineData
fe4da5cc 1#ifndef CASTOR_H
2#define CASTOR_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
fe4da5cc 8////////////////////////////////////////////////
9// Manager and hits classes for set:CASTOR //
10////////////////////////////////////////////////
11
12#include "AliDetector.h"
13#include "AliHit.h"
14
15
16class AliCASTOR : public AliDetector {
17
18public:
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);
76aa0aaa 28 virtual void DrawModule()=0;
fe4da5cc 29 virtual void StepManager()=0;
30
31 ClassDef(AliCASTOR,1) // CASTOR detector class
32};
33
34
35
36class AliCASTORv1 : public AliCASTOR {
37
38private:
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
50public:
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();
76aa0aaa 57 virtual void DrawModule();
fe4da5cc 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
68class AliCASTORhit : public AliHit {
69public:
70 Int_t fVolume; //array of volumes
71
72public:
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