ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

#include <TVirtualMC.h>
#include <TGeoManager.h>
#include <TGeoVolume.h>
#include <TGeoMedium.h>
#include <TGeoMatrix.h>
#include <TGeoVolume.h>
#include <TGeoTube.h>
#include <TGeoCone.h>
#include <TGeoPcon.h>
#include <TGeoCompositeShape.h>

#include "AliConst.h"
#include "AliEMCALSpaceFrame.h"
#include "AliMagF.h"
#include "AliRun.h"
#include "AliLog.h"
 
ClassImp(AliEMCALSpaceFrame)
 
//_____________________________________________________________________________
AliEMCALSpaceFrame::AliEMCALSpaceFrame() 
  : TNamed("EMCALSpaceFrame","Steel Space Frame that supports EMCAL"),
    fNumCross(0),
    fNumSubSets(0),
    fTotalHalfWidth(0.),
    fBeginPhi(0.),
    fEndPhi(0.),
    fTotalPhi(0.),
    fBeginRadius(0.),
    fHalfFrameTrans(0.),
    fFlangeHeight(0.),
    fFlangeWidth(0.),
    fRibHeight(0.),
    fRibWidth(0.),
    fCrossBottomWidth(0.),
    fCrossTopWidth(0.),
    fCrossBottomHeight(0.),
    fCrossBottomRadThick(0.),
    fCrossBeamArcLength(0.),
    fCrossBottomStartRadius(0.),
    fCrossTopHeight(0.),
    fCrossTopRadThick(0.),
    fCrossTopStart(0.),
    fEndRadius(0.),
    fEndBeamRadThick(0),
    fEndBeamBeginRadius(0)
{
  // default constructor for EMCAL Space Frame
  //initialize parameters
  fNumCross = 12; 
  fNumSubSets = 3;
  fTotalHalfWidth = 152.3;   // Half Width of a Half Frame
			     // (CalFrame comes in 2 sections) 
  fBeginPhi = 76.8;
  fEndPhi = 193.03;
  fBeginRadius = 490.;
  
  fHalfFrameTrans = fTotalHalfWidth+57.2/2.;  // Half Frame Connector is 57.2cm wide,
			    // Supermodule is 340cm wide
                            // Sources: HALF-FRAME-CONNECTOR-27E226A.pdf
                            // provided by LBL

  fFlangeWidth = 15.2;
  fRibWidth = 1.5;
  fCrossBottomHeight = 15.2;
  fCrossBottomRadThick = 1.5;
  fCrossTopHeight = 1.5;
  fCrossTopRadThick = 35./2.;

  fTotalPhi = fEndPhi - fBeginPhi;
  fFlangeHeight = fBeginRadius + 3.;
  fRibHeight = fFlangeHeight + 35;
  fCrossBottomWidth = 0.5/(Double_t)fNumSubSets * (2.*fTotalHalfWidth - 8. * fFlangeWidth);
  fCrossTopWidth = fCrossBottomWidth; // fCrossBottomWidth + fFlangeWidth - fRibWidth;
                                      // for future release pending
                                      // overlap correction - new TGeoVolume creation

  fCrossBeamArcLength = (112.62597)/(fNumCross-1)-.001; // To account for shape of TGeoBBox
  fCrossBottomStartRadius = fBeginRadius + fCrossBottomRadThick;
  fCrossTopStart = fBeginRadius + 2.*fCrossBottomRadThick + fCrossTopRadThick+0.015; // 0.015 is a 
										     // bubblegum and duct tape
										     // fix for an overlap problem
										     // will be worked out in future releases 
  fEndRadius = fRibHeight+1.15;
  fEndBeamRadThick = fCrossBottomRadThick+fCrossTopRadThick;
  fEndBeamBeginRadius = fBeginRadius + fEndBeamRadThick;
}

//_____________________________________________________________________________
AliEMCALSpaceFrame::AliEMCALSpaceFrame(const AliEMCALSpaceFrame &frame) 
  : TNamed(frame.GetName(),frame.GetTitle()),
    fNumCross(frame.fNumCross),
    fNumSubSets(frame.fNumSubSets),
    fTotalHalfWidth(frame.fTotalHalfWidth),
    fBeginPhi(frame.fBeginPhi),
    fEndPhi(frame.fEndPhi),
    fTotalPhi(frame.fTotalPhi),
    fBeginRadius(frame.fBeginRadius),
    fHalfFrameTrans(frame.fHalfFrameTrans),
    fFlangeHeight(frame.fFlangeHeight),
    fFlangeWidth(frame.fFlangeWidth),
    fRibHeight(frame.fRibHeight),
    fRibWidth(frame.fRibWidth),
    fCrossBottomWidth(frame.fCrossBottomWidth),
    fCrossTopWidth(frame.fCrossTopWidth),
    fCrossBottomHeight(frame.fCrossBottomHeight),
    fCrossBottomRadThick(frame.fCrossBottomRadThick),
    fCrossBeamArcLength(frame.fCrossBeamArcLength),
    fCrossBottomStartRadius(frame.fCrossBottomStartRadius),
    fCrossTopHeight(frame.fCrossTopHeight),
    fCrossTopRadThick(frame.fCrossTopRadThick),
    fCrossTopStart(frame.fCrossTopStart),
    fEndRadius(frame.fEndRadius),
    fEndBeamRadThick(frame.fEndBeamRadThick),
    fEndBeamBeginRadius(frame.fEndBeamBeginRadius)
{
  // copy constructor for EMCAL Space Frame

}

//_____________________________________________________________________________
void AliEMCALSpaceFrame::CreateGeometry()
{
  // create geometry
  
  AliDebug(1,"Create CalFrame Geometry");
  //////////////////////////////////////Setup/////////////////////////////////////////
  TGeoVolume* top = gGeoManager->GetVolume("ALIC");
  TGeoMedium *steel = gGeoManager->GetMedium("EMCAL_S steel$");
  TGeoMedium *air = gGeoManager->GetMedium("EMCAL_Air$");

	
  //////////////////////////////////// Volumes ///////////////////////////////////////  
  TGeoVolume *calFrameMO = 
    gGeoManager->MakeTubs("CalFrame", air, fBeginRadius-2.1,fEndRadius,
			  fTotalHalfWidth*3,fBeginPhi-3,fEndPhi+3);	// Mother Volume

  calFrameMO->SetVisibility(kFALSE);

  // Half Frame Mother Volume
  TGeoVolume *calHalfFrameMO = 
    gGeoManager->MakeTubs("HalfFrame", air, fBeginRadius-2,fEndRadius,
			  fTotalHalfWidth,fBeginPhi-2.9,fEndPhi+2.9);

  calHalfFrameMO->SetVisibility(kFALSE);

  TGeoVolume *endBeams = 
    gGeoManager->MakeBox("End Beams", steel, fEndBeamRadThick, fCrossTopHeight, fTotalHalfWidth); // End Beams

  TGeoVolume *skin = 
    gGeoManager->MakeTubs("skin", steel, fRibHeight+0.15, fEndRadius, 
  			  fTotalHalfWidth, fBeginPhi, fEndPhi);// back frame

  TGeoVolume *flangeVolume = 
    gGeoManager->MakeTubs("supportBottom", steel, fBeginRadius, fFlangeHeight, 
			  fFlangeWidth, fBeginPhi, fEndPhi);   		// FlangeVolume Beams

  TGeoVolume *ribVolume = 
    gGeoManager->MakeTubs("RibVolume", steel, fFlangeHeight, fRibHeight, fRibWidth, fBeginPhi, fEndPhi);

  TGeoVolume *subSetCross = 
    gGeoManager->MakeTubs("subSetCross", air, fBeginRadius-1,  fBeginRadius+2*fCrossBottomRadThick+
                          2*fCrossTopRadThick+0.15, fCrossBottomWidth, fBeginPhi, fEndPhi); 		// Cross Beam Containers
  subSetCross->SetVisibility(kFALSE);
  /*						// Obsolete for now
  TGeoVolume *subSetCrossTop = 
    gGeoManager->MakeTubs("SubSetCrossTop", air, fBeginRadius+2*fCrossBottomRadThick-1, fBeginRadius+2*fCrossBottomRadThick+
                          2*fCrossTopRadThick+1, fCrossTopWidth, fBeginPhi, fEndPhi);	// Cross 
  subSetCrossTop->SetVisibility(kFALSE);
  */                    
  TGeoVolume *crossBottomBeams = 
    gGeoManager->MakeBox("crossBottom", steel, fCrossBottomRadThick, fCrossBottomHeight, fCrossBottomWidth); // Cross Beams

  TGeoVolume *crossTopBeams = 
    gGeoManager->MakeBox("crossTop", steel, fCrossTopRadThick, fCrossTopHeight, fCrossTopWidth); // Cross Beams
  
  TGeoTranslation *trTEST = new TGeoTranslation();
  TGeoRotation *rotTEST = new TGeoRotation();
  
  Double_t conv = TMath::Pi()/180.;
  Double_t radAngle = 0;
  Double_t endBeamParam=.4;
  //cout<<"\nfCrossBottomStartRadius: "<<fCrossBottomStartRadius<<"\n";
  
  for(Int_t i = 0; i < fNumCross; i++){
    
    Double_t loopPhi = fBeginPhi + 1.8;

    // Cross Bottom Beams
    
    radAngle = (loopPhi + i*fCrossBeamArcLength)*conv; 
    
    rotTEST->SetAngles(fBeginPhi + i*fCrossBeamArcLength, 0, 0); //  SetTranslation(Double_t dx, Double_t dy, Double_t dz);
    trTEST->SetTranslation(cos(radAngle)*fCrossBottomStartRadius, sin(radAngle)*fCrossBottomStartRadius,0);

    TGeoCombiTrans *combo = new TGeoCombiTrans(*trTEST, *rotTEST); 	// TGeoTranslation &tr, const TGeoRotation &rot);
    combo->RegisterYourself();
    crossBottomBeams->SetVisibility(1);
    subSetCross->AddNode(crossBottomBeams, i+1, combo);
    if (i != 0 && i!=fNumCross-1){
    // Cross Bottom Beams
    rotTEST->SetAngles(fBeginPhi + i*fCrossBeamArcLength, 0, 0); //  SetTranslation(Double_t dx, Double_t dy, Double_t dz);
    trTEST->SetTranslation(cos(radAngle)*fCrossTopStart, sin(radAngle)*fCrossTopStart,0);
    crossTopBeams->SetVisibility(1);
    subSetCross->AddNode(crossTopBeams, i+1,  new TGeoCombiTrans(*trTEST, *rotTEST));
    }
    

    else if(i ==0){
		rotTEST->SetAngles(fBeginPhi + i*fCrossBeamArcLength, 0, 0); //  SetTranslation(Double_t dx, Double_t dy, Double_t dz);
    trTEST->SetTranslation(cos((77-endBeamParam)*conv)*(fEndBeamBeginRadius), sin((77-endBeamParam)*conv)*(fEndBeamBeginRadius),0);
    endBeams->SetVisibility(1);
    calHalfFrameMO->AddNode(endBeams, 1,  new TGeoCombiTrans(*trTEST, *rotTEST));
    }
    else{
    rotTEST->SetAngles(193.03, 0, 0); //  SetTranslation(Double_t dx, Double_t dy, Double_t dz);
    trTEST->SetTranslation(cos((193.03+endBeamParam)*conv)*(fEndBeamBeginRadius)/*more duct tape*/, sin((193.03+endBeamParam)*conv)*(fEndBeamBeginRadius),0);
    endBeams->SetVisibility(1);
    calHalfFrameMO->AddNode(endBeams, 2,  new TGeoCombiTrans(*trTEST, *rotTEST));
    }  
  }
  
  //Beam Containers

  // Translations 

  TGeoTranslation *origin1 = new TGeoTranslation(0,0,0); // Equivalent to gGeoIdentity
  TGeoTranslation *origin2 = new TGeoTranslation(0,0,2*(fCrossBottomWidth+fFlangeWidth));
  TGeoTranslation *origin3 = new TGeoTranslation(0,0,-2*(fCrossBottomWidth+fFlangeWidth));

  // FlangeVolume translations  
  TGeoTranslation *str1 = new TGeoTranslation(0,0,-3*(fCrossBottomWidth+fFlangeWidth));
  TGeoTranslation *str2 = new TGeoTranslation(0,0,-(fCrossBottomWidth+fFlangeWidth));
  TGeoTranslation *str3 = new TGeoTranslation(0,0,(fCrossBottomWidth+fFlangeWidth));
  TGeoTranslation *str4 = new TGeoTranslation(0,0,3*(fCrossBottomWidth+fFlangeWidth));

  // Half Frame Translations
  TGeoTranslation *halfTrans1 =  new TGeoTranslation(0,0,fHalfFrameTrans);
  TGeoTranslation *halfTrans2 =  new TGeoTranslation(0,0,-fHalfFrameTrans);

  // Beams Volume 
  calHalfFrameMO->AddNode(flangeVolume, 1, str1);
  calHalfFrameMO->AddNode(flangeVolume, 2, str2);
  calHalfFrameMO->AddNode(flangeVolume, 3, str3);
  calHalfFrameMO->AddNode(flangeVolume, 4, str4);
  
  calHalfFrameMO->AddNode(ribVolume, 1, str1);
  calHalfFrameMO->AddNode(ribVolume, 2, str2);
  calHalfFrameMO->AddNode(ribVolume, 3, str3);
  calHalfFrameMO->AddNode(ribVolume, 4, str4);
  
  // Cross Beams  
  calHalfFrameMO->AddNode(subSetCross, 1, origin1);
  calHalfFrameMO->AddNode(subSetCross, 2, origin2);
  calHalfFrameMO->AddNode(subSetCross, 3, origin3);
/*					// Obsolete for now
  calHalfFrameMO->AddNode(subSetCrossTop, 1, origin1);
  calHalfFrameMO->AddNode(subSetCrossTop, 2, origin2);
  calHalfFrameMO->AddNode(subSetCrossTop, 3, origin3);
*/

  calHalfFrameMO->AddNode(skin, 1, gGeoIdentity);
  
  calFrameMO->AddNode(calHalfFrameMO, 1, halfTrans1);
  calFrameMO->AddNode(calHalfFrameMO, 2, halfTrans2);
 
  top->AddNode(calFrameMO,1,gGeoIdentity);
//  cout<<"**********************************\nfEndRadius:\t"<<fEndRadius;
}

 AliEMCALSpaceFrame.cxx:1
 AliEMCALSpaceFrame.cxx:2
 AliEMCALSpaceFrame.cxx:3
 AliEMCALSpaceFrame.cxx:4
 AliEMCALSpaceFrame.cxx:5
 AliEMCALSpaceFrame.cxx:6
 AliEMCALSpaceFrame.cxx:7
 AliEMCALSpaceFrame.cxx:8
 AliEMCALSpaceFrame.cxx:9
 AliEMCALSpaceFrame.cxx:10
 AliEMCALSpaceFrame.cxx:11
 AliEMCALSpaceFrame.cxx:12
 AliEMCALSpaceFrame.cxx:13
 AliEMCALSpaceFrame.cxx:14
 AliEMCALSpaceFrame.cxx:15
 AliEMCALSpaceFrame.cxx:16
 AliEMCALSpaceFrame.cxx:17
 AliEMCALSpaceFrame.cxx:18
 AliEMCALSpaceFrame.cxx:19
 AliEMCALSpaceFrame.cxx:20
 AliEMCALSpaceFrame.cxx:21
 AliEMCALSpaceFrame.cxx:22
 AliEMCALSpaceFrame.cxx:23
 AliEMCALSpaceFrame.cxx:24
 AliEMCALSpaceFrame.cxx:25
 AliEMCALSpaceFrame.cxx:26
 AliEMCALSpaceFrame.cxx:27
 AliEMCALSpaceFrame.cxx:28
 AliEMCALSpaceFrame.cxx:29
 AliEMCALSpaceFrame.cxx:30
 AliEMCALSpaceFrame.cxx:31
 AliEMCALSpaceFrame.cxx:32
 AliEMCALSpaceFrame.cxx:33
 AliEMCALSpaceFrame.cxx:34
 AliEMCALSpaceFrame.cxx:35
 AliEMCALSpaceFrame.cxx:36
 AliEMCALSpaceFrame.cxx:37
 AliEMCALSpaceFrame.cxx:38
 AliEMCALSpaceFrame.cxx:39
 AliEMCALSpaceFrame.cxx:40
 AliEMCALSpaceFrame.cxx:41
 AliEMCALSpaceFrame.cxx:42
 AliEMCALSpaceFrame.cxx:43
 AliEMCALSpaceFrame.cxx:44
 AliEMCALSpaceFrame.cxx:45
 AliEMCALSpaceFrame.cxx:46
 AliEMCALSpaceFrame.cxx:47
 AliEMCALSpaceFrame.cxx:48
 AliEMCALSpaceFrame.cxx:49
 AliEMCALSpaceFrame.cxx:50
 AliEMCALSpaceFrame.cxx:51
 AliEMCALSpaceFrame.cxx:52
 AliEMCALSpaceFrame.cxx:53
 AliEMCALSpaceFrame.cxx:54
 AliEMCALSpaceFrame.cxx:55
 AliEMCALSpaceFrame.cxx:56
 AliEMCALSpaceFrame.cxx:57
 AliEMCALSpaceFrame.cxx:58
 AliEMCALSpaceFrame.cxx:59
 AliEMCALSpaceFrame.cxx:60
 AliEMCALSpaceFrame.cxx:61
 AliEMCALSpaceFrame.cxx:62
 AliEMCALSpaceFrame.cxx:63
 AliEMCALSpaceFrame.cxx:64
 AliEMCALSpaceFrame.cxx:65
 AliEMCALSpaceFrame.cxx:66
 AliEMCALSpaceFrame.cxx:67
 AliEMCALSpaceFrame.cxx:68
 AliEMCALSpaceFrame.cxx:69
 AliEMCALSpaceFrame.cxx:70
 AliEMCALSpaceFrame.cxx:71
 AliEMCALSpaceFrame.cxx:72
 AliEMCALSpaceFrame.cxx:73
 AliEMCALSpaceFrame.cxx:74
 AliEMCALSpaceFrame.cxx:75
 AliEMCALSpaceFrame.cxx:76
 AliEMCALSpaceFrame.cxx:77
 AliEMCALSpaceFrame.cxx:78
 AliEMCALSpaceFrame.cxx:79
 AliEMCALSpaceFrame.cxx:80
 AliEMCALSpaceFrame.cxx:81
 AliEMCALSpaceFrame.cxx:82
 AliEMCALSpaceFrame.cxx:83
 AliEMCALSpaceFrame.cxx:84
 AliEMCALSpaceFrame.cxx:85
 AliEMCALSpaceFrame.cxx:86
 AliEMCALSpaceFrame.cxx:87
 AliEMCALSpaceFrame.cxx:88
 AliEMCALSpaceFrame.cxx:89
 AliEMCALSpaceFrame.cxx:90
 AliEMCALSpaceFrame.cxx:91
 AliEMCALSpaceFrame.cxx:92
 AliEMCALSpaceFrame.cxx:93
 AliEMCALSpaceFrame.cxx:94
 AliEMCALSpaceFrame.cxx:95
 AliEMCALSpaceFrame.cxx:96
 AliEMCALSpaceFrame.cxx:97
 AliEMCALSpaceFrame.cxx:98
 AliEMCALSpaceFrame.cxx:99
 AliEMCALSpaceFrame.cxx:100
 AliEMCALSpaceFrame.cxx:101
 AliEMCALSpaceFrame.cxx:102
 AliEMCALSpaceFrame.cxx:103
 AliEMCALSpaceFrame.cxx:104
 AliEMCALSpaceFrame.cxx:105
 AliEMCALSpaceFrame.cxx:106
 AliEMCALSpaceFrame.cxx:107
 AliEMCALSpaceFrame.cxx:108
 AliEMCALSpaceFrame.cxx:109
 AliEMCALSpaceFrame.cxx:110
 AliEMCALSpaceFrame.cxx:111
 AliEMCALSpaceFrame.cxx:112
 AliEMCALSpaceFrame.cxx:113
 AliEMCALSpaceFrame.cxx:114
 AliEMCALSpaceFrame.cxx:115
 AliEMCALSpaceFrame.cxx:116
 AliEMCALSpaceFrame.cxx:117
 AliEMCALSpaceFrame.cxx:118
 AliEMCALSpaceFrame.cxx:119
 AliEMCALSpaceFrame.cxx:120
 AliEMCALSpaceFrame.cxx:121
 AliEMCALSpaceFrame.cxx:122
 AliEMCALSpaceFrame.cxx:123
 AliEMCALSpaceFrame.cxx:124
 AliEMCALSpaceFrame.cxx:125
 AliEMCALSpaceFrame.cxx:126
 AliEMCALSpaceFrame.cxx:127
 AliEMCALSpaceFrame.cxx:128
 AliEMCALSpaceFrame.cxx:129
 AliEMCALSpaceFrame.cxx:130
 AliEMCALSpaceFrame.cxx:131
 AliEMCALSpaceFrame.cxx:132
 AliEMCALSpaceFrame.cxx:133
 AliEMCALSpaceFrame.cxx:134
 AliEMCALSpaceFrame.cxx:135
 AliEMCALSpaceFrame.cxx:136
 AliEMCALSpaceFrame.cxx:137
 AliEMCALSpaceFrame.cxx:138
 AliEMCALSpaceFrame.cxx:139
 AliEMCALSpaceFrame.cxx:140
 AliEMCALSpaceFrame.cxx:141
 AliEMCALSpaceFrame.cxx:142
 AliEMCALSpaceFrame.cxx:143
 AliEMCALSpaceFrame.cxx:144
 AliEMCALSpaceFrame.cxx:145
 AliEMCALSpaceFrame.cxx:146
 AliEMCALSpaceFrame.cxx:147
 AliEMCALSpaceFrame.cxx:148
 AliEMCALSpaceFrame.cxx:149
 AliEMCALSpaceFrame.cxx:150
 AliEMCALSpaceFrame.cxx:151
 AliEMCALSpaceFrame.cxx:152
 AliEMCALSpaceFrame.cxx:153
 AliEMCALSpaceFrame.cxx:154
 AliEMCALSpaceFrame.cxx:155
 AliEMCALSpaceFrame.cxx:156
 AliEMCALSpaceFrame.cxx:157
 AliEMCALSpaceFrame.cxx:158
 AliEMCALSpaceFrame.cxx:159
 AliEMCALSpaceFrame.cxx:160
 AliEMCALSpaceFrame.cxx:161
 AliEMCALSpaceFrame.cxx:162
 AliEMCALSpaceFrame.cxx:163
 AliEMCALSpaceFrame.cxx:164
 AliEMCALSpaceFrame.cxx:165
 AliEMCALSpaceFrame.cxx:166
 AliEMCALSpaceFrame.cxx:167
 AliEMCALSpaceFrame.cxx:168
 AliEMCALSpaceFrame.cxx:169
 AliEMCALSpaceFrame.cxx:170
 AliEMCALSpaceFrame.cxx:171
 AliEMCALSpaceFrame.cxx:172
 AliEMCALSpaceFrame.cxx:173
 AliEMCALSpaceFrame.cxx:174
 AliEMCALSpaceFrame.cxx:175
 AliEMCALSpaceFrame.cxx:176
 AliEMCALSpaceFrame.cxx:177
 AliEMCALSpaceFrame.cxx:178
 AliEMCALSpaceFrame.cxx:179
 AliEMCALSpaceFrame.cxx:180
 AliEMCALSpaceFrame.cxx:181
 AliEMCALSpaceFrame.cxx:182
 AliEMCALSpaceFrame.cxx:183
 AliEMCALSpaceFrame.cxx:184
 AliEMCALSpaceFrame.cxx:185
 AliEMCALSpaceFrame.cxx:186
 AliEMCALSpaceFrame.cxx:187
 AliEMCALSpaceFrame.cxx:188
 AliEMCALSpaceFrame.cxx:189
 AliEMCALSpaceFrame.cxx:190
 AliEMCALSpaceFrame.cxx:191
 AliEMCALSpaceFrame.cxx:192
 AliEMCALSpaceFrame.cxx:193
 AliEMCALSpaceFrame.cxx:194
 AliEMCALSpaceFrame.cxx:195
 AliEMCALSpaceFrame.cxx:196
 AliEMCALSpaceFrame.cxx:197
 AliEMCALSpaceFrame.cxx:198
 AliEMCALSpaceFrame.cxx:199
 AliEMCALSpaceFrame.cxx:200
 AliEMCALSpaceFrame.cxx:201
 AliEMCALSpaceFrame.cxx:202
 AliEMCALSpaceFrame.cxx:203
 AliEMCALSpaceFrame.cxx:204
 AliEMCALSpaceFrame.cxx:205
 AliEMCALSpaceFrame.cxx:206
 AliEMCALSpaceFrame.cxx:207
 AliEMCALSpaceFrame.cxx:208
 AliEMCALSpaceFrame.cxx:209
 AliEMCALSpaceFrame.cxx:210
 AliEMCALSpaceFrame.cxx:211
 AliEMCALSpaceFrame.cxx:212
 AliEMCALSpaceFrame.cxx:213
 AliEMCALSpaceFrame.cxx:214
 AliEMCALSpaceFrame.cxx:215
 AliEMCALSpaceFrame.cxx:216
 AliEMCALSpaceFrame.cxx:217
 AliEMCALSpaceFrame.cxx:218
 AliEMCALSpaceFrame.cxx:219
 AliEMCALSpaceFrame.cxx:220
 AliEMCALSpaceFrame.cxx:221
 AliEMCALSpaceFrame.cxx:222
 AliEMCALSpaceFrame.cxx:223
 AliEMCALSpaceFrame.cxx:224
 AliEMCALSpaceFrame.cxx:225
 AliEMCALSpaceFrame.cxx:226
 AliEMCALSpaceFrame.cxx:227
 AliEMCALSpaceFrame.cxx:228
 AliEMCALSpaceFrame.cxx:229
 AliEMCALSpaceFrame.cxx:230
 AliEMCALSpaceFrame.cxx:231
 AliEMCALSpaceFrame.cxx:232
 AliEMCALSpaceFrame.cxx:233
 AliEMCALSpaceFrame.cxx:234
 AliEMCALSpaceFrame.cxx:235
 AliEMCALSpaceFrame.cxx:236
 AliEMCALSpaceFrame.cxx:237
 AliEMCALSpaceFrame.cxx:238
 AliEMCALSpaceFrame.cxx:239
 AliEMCALSpaceFrame.cxx:240
 AliEMCALSpaceFrame.cxx:241
 AliEMCALSpaceFrame.cxx:242
 AliEMCALSpaceFrame.cxx:243
 AliEMCALSpaceFrame.cxx:244
 AliEMCALSpaceFrame.cxx:245
 AliEMCALSpaceFrame.cxx:246
 AliEMCALSpaceFrame.cxx:247
 AliEMCALSpaceFrame.cxx:248
 AliEMCALSpaceFrame.cxx:249
 AliEMCALSpaceFrame.cxx:250
 AliEMCALSpaceFrame.cxx:251
 AliEMCALSpaceFrame.cxx:252
 AliEMCALSpaceFrame.cxx:253
 AliEMCALSpaceFrame.cxx:254
 AliEMCALSpaceFrame.cxx:255
 AliEMCALSpaceFrame.cxx:256
 AliEMCALSpaceFrame.cxx:257
 AliEMCALSpaceFrame.cxx:258
 AliEMCALSpaceFrame.cxx:259
 AliEMCALSpaceFrame.cxx:260
 AliEMCALSpaceFrame.cxx:261
 AliEMCALSpaceFrame.cxx:262
 AliEMCALSpaceFrame.cxx:263
 AliEMCALSpaceFrame.cxx:264
 AliEMCALSpaceFrame.cxx:265
 AliEMCALSpaceFrame.cxx:266
 AliEMCALSpaceFrame.cxx:267
 AliEMCALSpaceFrame.cxx:268
 AliEMCALSpaceFrame.cxx:269
 AliEMCALSpaceFrame.cxx:270
 AliEMCALSpaceFrame.cxx:271
 AliEMCALSpaceFrame.cxx:272
 AliEMCALSpaceFrame.cxx:273
 AliEMCALSpaceFrame.cxx:274
 AliEMCALSpaceFrame.cxx:275
 AliEMCALSpaceFrame.cxx:276
 AliEMCALSpaceFrame.cxx:277
 AliEMCALSpaceFrame.cxx:278
 AliEMCALSpaceFrame.cxx:279
 AliEMCALSpaceFrame.cxx:280
 AliEMCALSpaceFrame.cxx:281
 AliEMCALSpaceFrame.cxx:282
 AliEMCALSpaceFrame.cxx:283
 AliEMCALSpaceFrame.cxx:284
 AliEMCALSpaceFrame.cxx:285