]>
Commit | Line | Data |
---|---|---|
e3697737 | 1 | #ifndef ALIEMCALSPACEFRAME_H |
2 | #define ALIEMCALSPACEFRAME_H | |
3 | /* Copyright(c) 2008, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | ///////////////////////////////////////////////// | |
8 | // class for EMCAL Space Frame // | |
9 | // Author: Ryan M. Ward // | |
10 | // California Polytechnic State Univeristy // | |
11 | // rmward@calpoly.edu // | |
12 | ///////////////////////////////////////////////// | |
13 | ||
14 | #include <TNamed.h> | |
15 | ||
16 | class AliEMCALSpaceFrame : public TNamed | |
17 | { | |
18 | ||
19 | public: | |
20 | ||
21 | AliEMCALSpaceFrame(); | |
22 | virtual ~AliEMCALSpaceFrame() {} | |
23 | ||
24 | AliEMCALSpaceFrame(const AliEMCALSpaceFrame& calFrame); | |
25 | AliEMCALSpaceFrame & operator = (const AliEMCALSpaceFrame & /*rvalue*/) { | |
26 | Fatal("operator =", "not implemented"); | |
27 | return *this; | |
28 | } | |
29 | ||
30 | //This method assembles the Geometries and places them into the | |
31 | //Alice master volume | |
32 | void CreateGeometry(); | |
33 | ||
34 | protected: | |
35 | ||
36 | private: | |
37 | ||
38 | //space frame parameters from "SINGLE FRAME ASSEMBLY 27D624H.pdf" | |
39 | //provided by Lawrence Berkeley Labs, USA | |
40 | Int_t fNumCross; // Total number of cross beams including end pieces | |
41 | Int_t fNumSubSets; // Total Number of Cross Beam sections in each Half Section | |
42 | Double_t fTotalHalfWidth; // Half the width of each Half Section | |
43 | Double_t fBeginPhi; // Begining Phi of Cal Frame | |
44 | Double_t fEndPhi; // Ending Phi of Cal Frame | |
45 | Double_t fTotalPhi; // Total Phi range of Cal Frame | |
46 | Double_t fBeginRadius; // Begining Radius of Cal Frame | |
47 | Double_t fHalfFrameTrans; // z-direction translation for each half frame | |
48 | //flange and rib dimensions | |
49 | Double_t fFlangeHeight; // Ending Radius of Flange (Flange is a TGeoTubeSeg) | |
50 | Double_t fFlangeWidth; // Thickness of Flange in z-direction | |
51 | Double_t fRibHeight; // Ending Radius of Rib | |
52 | Double_t fRibWidth; // Thickness of Rib in z-direction | |
53 | //cross beam sections - Cross beams come in two sections- top and bottom | |
54 | Double_t fCrossBottomWidth; // Width along z direction | |
55 | Double_t fCrossTopWidth; // Width along z direction | |
56 | Double_t fCrossBottomHeight; // Tangental thickness relative to CalFrame arc | |
57 | Double_t fCrossBottomRadThick; // Radial thickness relative to center of geometry | |
58 | Double_t fCrossBeamArcLength; // For calulating placement of | |
59 | Double_t fCrossBottomStartRadius; // Radial position relative to center of geometry | |
60 | Double_t fCrossTopHeight; // Tangental thickness relative to the center of geometry | |
61 | Double_t fCrossTopRadThick; // Radial thickness relative to CalFrame arc | |
62 | Double_t fCrossTopStart; // Radial position relative to center of geometry | |
63 | Double_t fEndRadius; // Ending Radius of Mother Volume | |
64 | Double_t fEndBeamRadThick; // Radial Thickness of the End Beams | |
65 | Double_t fEndBeamBeginRadius; // Starting Radius for End Beams | |
66 | ||
67 | ClassDef(AliEMCALSpaceFrame,1) //Class for EMCAL Space Frame | |
68 | }; | |
69 | ||
70 | #endif //ALIEMCALSPACEFRAME_H |