]>
Commit | Line | Data |
---|---|---|
d28dcc0d | 1 | #ifndef ALIFMD_H |
2 | #define ALIFMD_H | |
4347b38f | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights |
4 | * reserved. | |
5 | * | |
6 | * Latest changes by Christian Holm Christensen <cholm@nbi.dk> | |
7 | * | |
8 | * See cxx source for full Copyright notice | |
9 | */ | |
3da30618 | 10 | |
37c4363a | 11 | //____________________________________________________________________ |
12 | // | |
13 | // Manager class for the FMD - Base class. | |
14 | // | |
4347b38f | 15 | #ifndef ALIDETECTOR_H |
16 | # include <AliDetector.h> | |
17 | #endif | |
4347b38f | 18 | #ifndef ROOT_TBranch |
19 | # include <TBranch.h> | |
20 | #endif | |
1a1fdef7 | 21 | class TBranch; |
22 | class TClonesArray; | |
23 | class TBrowser; | |
24 | class AliDigitizer; | |
25 | class AliFMDSimulator; | |
4347b38f | 26 | |
27 | //____________________________________________________________________ | |
28 | class AliFMD : public AliDetector | |
29 | { | |
fe4da5cc | 30 | public: |
31 | AliFMD(); | |
1a1fdef7 | 32 | AliFMD(const char *name, const char *title); |
56b1929b | 33 | AliFMD(const AliFMD& other); |
4347b38f | 34 | virtual ~AliFMD(); |
56b1929b | 35 | AliFMD& operator=(const AliFMD& other); |
4347b38f | 36 | |
37 | // GEometry ANd Tracking (GEANT :-) | |
38 | virtual void CreateGeometry(); | |
39 | virtual void CreateMaterials(); | |
fe4da5cc | 40 | virtual void Init(); |
4347b38f | 41 | virtual void StepManager() = 0; |
58d6a713 | 42 | |
4347b38f | 43 | // Graphics and event display |
44 | virtual void BuildGeometry(); | |
45 | virtual void DrawDetector(); | |
17323043 | 46 | virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); |
3d44ce66 | 47 | |
4347b38f | 48 | // Hit and digit management |
49 | virtual void MakeBranch(Option_t *opt=" "); | |
50 | virtual void SetHitsAddressBranch(TBranch *b); | |
51 | virtual void SetTreeAddress(); | |
52 | virtual TClonesArray* SDigits() { return fSDigits; } | |
53 | virtual void ResetSDigits(); | |
54 | virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); | |
69b696b9 | 55 | virtual void AddHitByFields(Int_t track, |
56 | UShort_t detector, | |
57 | Char_t ring, | |
58 | UShort_t sector, | |
59 | UShort_t strip, | |
60 | Float_t x=0, | |
61 | Float_t y=0, | |
62 | Float_t z=0, | |
63 | Float_t px=0, | |
64 | Float_t py=0, | |
65 | Float_t pz=0, | |
66 | Float_t edep=0, | |
67 | Int_t pdg=0, | |
68 | Float_t t=0); | |
69 | virtual void AddDigit(Int_t *digits, Int_t* notused=0); | |
70 | virtual void AddDigitByFields(UShort_t detector=0, | |
71 | Char_t ring='\0', | |
72 | UShort_t sector=0, | |
73 | UShort_t strip=0, | |
74 | UShort_t count1=0, | |
75 | Short_t count2=-1, | |
76 | Short_t count3=-1); | |
4347b38f | 77 | virtual void AddSDigit(Int_t *digits); |
69b696b9 | 78 | virtual void AddSDigitByFields(UShort_t detector=0, |
79 | Char_t ring='\0', | |
80 | UShort_t sector=0, | |
81 | UShort_t strip=0, | |
82 | Float_t edep=0, | |
83 | UShort_t count1=0, | |
84 | Short_t count2=-1, | |
85 | Short_t count3=-1); | |
4347b38f | 86 | |
87 | // Digitisation | |
c92eb8ad | 88 | virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; |
4347b38f | 89 | virtual void Hits2Digits(); |
90 | virtual void Hits2SDigits(); | |
91 | ||
92 | // Raw data | |
93 | virtual void Digits2Raw(); | |
94 | ||
4347b38f | 95 | // Utility |
96 | void Browse(TBrowser* b); | |
4347b38f | 97 | protected: |
56b1929b | 98 | TClonesArray* HitsArray(); |
99 | TClonesArray* DigitsArray(); | |
100 | TClonesArray* SDigitsArray(); | |
101 | ||
56b1929b | 102 | TClonesArray* fSDigits; // Summable digits |
103 | Int_t fNsdigits; // Number of digits | |
1a1fdef7 | 104 | Bool_t fDetailed; // Use detailed geometry |
105 | ||
106 | AliFMDSimulator* fSimulator; // Simulator task | |
107 | ||
108 | ClassDef(AliFMD,10) // Base class FMD entry point | |
fe4da5cc | 109 | }; |
dc8af42e | 110 | |
4347b38f | 111 | #endif |
112 | //____________________________________________________________________ | |
113 | // | |
0d0e6995 | 114 | // Local Variables: |
115 | // mode: C++ | |
116 | // End: | |
117 | // | |
4347b38f | 118 | // EOF |
119 | // |