ROOT logo
#ifndef ALIEMCALSPACEFRAME_H
#define ALIEMCALSPACEFRAME_H
/* Copyright(c) 2008, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */


/////////////////////////////////////////////////
//          class for EMCAL Space Frame        //
//              Author: Ryan M. Ward           //                                                   
//     California Polytechnic State Univeristy //                                                   
//               rmward@calpoly.edu            // 
/////////////////////////////////////////////////

#include <TNamed.h> 

class AliEMCALSpaceFrame : public TNamed
{
  
public:

  AliEMCALSpaceFrame();
  virtual      ~AliEMCALSpaceFrame() {}

  AliEMCALSpaceFrame(const AliEMCALSpaceFrame& calFrame);
  AliEMCALSpaceFrame & operator = (const AliEMCALSpaceFrame & /*rvalue*/) {
    Fatal("operator =", "not implemented");
    return *this;
  }
  
  //This method assembles the Geometries and places them into the
  //Alice master volume
  void CreateGeometry();

protected:
  
private:

  //space frame parameters from "SINGLE FRAME ASSEMBLY 27D624H.pdf"
  //provided by Lawrence Berkeley Labs, USA
  Int_t fNumCross;                  // Total number of cross beams including end pieces
  Int_t fNumSubSets;                // Total Number of Cross Beam sections in each Half Section
  Double_t fTotalHalfWidth;         // Half the width of each Half Section 
  Double_t fBeginPhi;               // Begining Phi of Cal Frame
  Double_t fEndPhi;                 // Ending Phi of Cal Frame
  Double_t fTotalPhi;               // Total Phi range of Cal Frame
  Double_t fBeginRadius;            // Begining Radius of Cal Frame
  Double_t fHalfFrameTrans;         // z-direction translation for each half frame
  //flange and rib dimensions
  Double_t fFlangeHeight;           // Ending Radius of Flange (Flange is a TGeoTubeSeg)
  Double_t fFlangeWidth;            // Thickness of Flange in z-direction
  Double_t fRibHeight;              // Ending Radius of Rib
  Double_t fRibWidth;               // Thickness of Rib in z-direction 
  //cross beam sections - Cross beams come in two sections- top and bottom
  Double_t fCrossBottomWidth;       // Width along z direction
  Double_t fCrossTopWidth;          // Width along z direction
  Double_t fCrossBottomHeight;      // Tangental thickness relative to CalFrame arc
  Double_t fCrossBottomRadThick;    // Radial thickness relative to center of geometry
  Double_t fCrossBeamArcLength;     // For calulating placement of
  Double_t fCrossBottomStartRadius; // Radial position relative to center of geometry
  Double_t fCrossTopHeight;         // Tangental thickness relative to the center of geometry
  Double_t fCrossTopRadThick;       // Radial thickness relative to CalFrame arc
  Double_t fCrossTopStart;          // Radial position relative to center of geometry
  Double_t fEndRadius;              // Ending Radius of Mother Volume
  Double_t fEndBeamRadThick;	    // Radial Thickness of the End Beams
  Double_t fEndBeamBeginRadius;	    // Starting Radius for End Beams

  ClassDef(AliEMCALSpaceFrame,1)  //Class for EMCAL Space Frame
};

#endif  //ALIEMCALSPACEFRAME_H
 AliEMCALSpaceFrame.h:1
 AliEMCALSpaceFrame.h:2
 AliEMCALSpaceFrame.h:3
 AliEMCALSpaceFrame.h:4
 AliEMCALSpaceFrame.h:5
 AliEMCALSpaceFrame.h:6
 AliEMCALSpaceFrame.h:7
 AliEMCALSpaceFrame.h:8
 AliEMCALSpaceFrame.h:9
 AliEMCALSpaceFrame.h:10
 AliEMCALSpaceFrame.h:11
 AliEMCALSpaceFrame.h:12
 AliEMCALSpaceFrame.h:13
 AliEMCALSpaceFrame.h:14
 AliEMCALSpaceFrame.h:15
 AliEMCALSpaceFrame.h:16
 AliEMCALSpaceFrame.h:17
 AliEMCALSpaceFrame.h:18
 AliEMCALSpaceFrame.h:19
 AliEMCALSpaceFrame.h:20
 AliEMCALSpaceFrame.h:21
 AliEMCALSpaceFrame.h:22
 AliEMCALSpaceFrame.h:23
 AliEMCALSpaceFrame.h:24
 AliEMCALSpaceFrame.h:25
 AliEMCALSpaceFrame.h:26
 AliEMCALSpaceFrame.h:27
 AliEMCALSpaceFrame.h:28
 AliEMCALSpaceFrame.h:29
 AliEMCALSpaceFrame.h:30
 AliEMCALSpaceFrame.h:31
 AliEMCALSpaceFrame.h:32
 AliEMCALSpaceFrame.h:33
 AliEMCALSpaceFrame.h:34
 AliEMCALSpaceFrame.h:35
 AliEMCALSpaceFrame.h:36
 AliEMCALSpaceFrame.h:37
 AliEMCALSpaceFrame.h:38
 AliEMCALSpaceFrame.h:39
 AliEMCALSpaceFrame.h:40
 AliEMCALSpaceFrame.h:41
 AliEMCALSpaceFrame.h:42
 AliEMCALSpaceFrame.h:43
 AliEMCALSpaceFrame.h:44
 AliEMCALSpaceFrame.h:45
 AliEMCALSpaceFrame.h:46
 AliEMCALSpaceFrame.h:47
 AliEMCALSpaceFrame.h:48
 AliEMCALSpaceFrame.h:49
 AliEMCALSpaceFrame.h:50
 AliEMCALSpaceFrame.h:51
 AliEMCALSpaceFrame.h:52
 AliEMCALSpaceFrame.h:53
 AliEMCALSpaceFrame.h:54
 AliEMCALSpaceFrame.h:55
 AliEMCALSpaceFrame.h:56
 AliEMCALSpaceFrame.h:57
 AliEMCALSpaceFrame.h:58
 AliEMCALSpaceFrame.h:59
 AliEMCALSpaceFrame.h:60
 AliEMCALSpaceFrame.h:61
 AliEMCALSpaceFrame.h:62
 AliEMCALSpaceFrame.h:63
 AliEMCALSpaceFrame.h:64
 AliEMCALSpaceFrame.h:65
 AliEMCALSpaceFrame.h:66
 AliEMCALSpaceFrame.h:67
 AliEMCALSpaceFrame.h:68
 AliEMCALSpaceFrame.h:69
 AliEMCALSpaceFrame.h:70