AtNuEventDisplayAB Class Reference

#include <AtNuEventDisplayAB.h>

Inheritance diagram for AtNuEventDisplayAB:
AtNuEventDisplay

List of all members.

Public Member Functions

 AtNuEventDisplayAB ()
 ~AtNuEventDisplayAB ()
void Initialize ()
void MakePicture (AtmosEvent *evt)
void PrintPicture ()
void PrintPictureGIF ()
void PrintPictureEPS ()

Private Attributes

TCanvas * fCanvas
TPad * fUZpad
TPad * fVZpad
TPad * fXYpad
TPad * fTpad
TPad * fQpad
TPad * fTitlePad
TH2D * fTimeDisplay
TH2D * fUviewDis1
TH2D * fVviewDis1
TH2D * fXYdisplay
TH1D * fQbase
TH1D * fQtemp
TPolyLine * fDetOutline
TPolyLine * fDetOutlineC
TPolyMarker * uSTR1
TPolyMarker * uSTR2
TPolyMarker * uSTR3
TPolyMarker * uSHW
TPolyMarker * uTRK
TPolyMarker * uVTX
TPolyMarker * vSTR1
TPolyMarker * vSTR2
TPolyMarker * vSTR3
TPolyMarker * vSHW
TPolyMarker * vTRK
TPolyMarker * vVTX
TPolyMarker * SHLD1
TPolyMarker * SHLD2
TPolyMarker * SHLD3
TPolyMarker * SHLD4
TPolyMarker * SHLD5
TPolyMarker * SHLD6
TPolyMarker * strpXY1
TPolyMarker * strpXY2
TPolyMarker * strpXY3
TPolyMarker * strpXY4
TPolyMarker * strpXY5
TPolyMarker * vtxXY
TPolyMarker * uTIME1e
TPolyMarker * uTIME2e
TPolyMarker * uTIME3e
TPolyMarker * uTIME4e
TPolyMarker * uTIME5e
TPolyMarker * uTIME6e
TPolyMarker * uTIME1w
TPolyMarker * uTIME2w
TPolyMarker * uTIME3w
TPolyMarker * uTIME4w
TPolyMarker * uTIME5w
TPolyMarker * uTIME6w
TPolyMarker * vTIME1e
TPolyMarker * vTIME2e
TPolyMarker * vTIME3e
TPolyMarker * vTIME4e
TPolyMarker * vTIME5e
TPolyMarker * vTIME6e
TPolyMarker * vTIME1w
TPolyMarker * vTIME2w
TPolyMarker * vTIME3w
TPolyMarker * vTIME4w
TPolyMarker * vTIME5w
TPolyMarker * vTIME6w
TPolyMarker * tVTX
Int_t fRun
Int_t fSnarl

Detailed Description

Definition at line 13 of file AtNuEventDisplayAB.h.


Constructor & Destructor Documentation

AtNuEventDisplayAB::AtNuEventDisplayAB (  ) 

Definition at line 23 of file AtNuEventDisplayAB.cxx.

References Initialize().

00023                                        :
00024   fCanvas(0),
00025   fUZpad(0),fVZpad(0),fXYpad(0),fTpad(0),fQpad(0),
00026   fTitlePad(0),fTimeDisplay(0),
00027   fUviewDis1(0),fVviewDis1(0),fXYdisplay(0),
00028   fQbase(0),fQtemp(0),
00029   fDetOutline(0),fDetOutlineC(0),
00030   uSTR1(0),uSTR2(0),uSTR3(0),uSHW(0),uTRK(0),uVTX(0),
00031   vSTR1(0),vSTR2(0),vSTR3(0),vSHW(0),vTRK(0),vVTX(0),
00032   SHLD1(0),SHLD2(0),SHLD3(0),SHLD4(0),SHLD5(0),SHLD6(0), 
00033   strpXY1(0),strpXY2(0),strpXY3(0),strpXY4(0),strpXY5(0),vtxXY(0), 
00034   uTIME1e(0),uTIME2e(0),uTIME3e(0),uTIME4e(0),uTIME5e(0),uTIME6e(0),
00035   uTIME1w(0),uTIME2w(0),uTIME3w(0),uTIME4w(0),uTIME5w(0),uTIME6w(0),
00036   vTIME1e(0),vTIME2e(0),vTIME3e(0),vTIME4e(0),vTIME5e(0),vTIME6e(0),
00037   vTIME1w(0),vTIME2w(0),vTIME3w(0),vTIME4w(0),vTIME5w(0),vTIME6w(0),tVTX(0),
00038   fRun(0), fSnarl(0)
00039 {
00040   this->Initialize();
00041 }

AtNuEventDisplayAB::~AtNuEventDisplayAB (  ) 

Definition at line 43 of file AtNuEventDisplayAB.cxx.

References fCanvas, fDetOutline, fDetOutlineC, fQbase, fQpad, fQtemp, fTimeDisplay, fTitlePad, fTpad, fUviewDis1, fUZpad, fVviewDis1, fVZpad, fXYdisplay, fXYpad, SHLD1, SHLD2, SHLD3, SHLD4, SHLD5, SHLD6, strpXY1, strpXY2, strpXY3, strpXY4, strpXY5, tVTX, uSHW, uSTR1, uSTR2, uSTR3, uTIME1e, uTIME1w, uTIME2e, uTIME2w, uTIME3e, uTIME3w, uTIME4e, uTIME4w, uTIME5e, uTIME5w, uTIME6e, uTIME6w, uTRK, uVTX, vSHW, vSTR1, vSTR2, vSTR3, vTIME1e, vTIME1w, vTIME2e, vTIME2w, vTIME3e, vTIME3w, vTIME4e, vTIME4w, vTIME5e, vTIME5w, vTIME6e, vTIME6w, vTRK, vtxXY, and vVTX.

00044 {
00045   if(fCanvas) delete fCanvas;
00046   if(fUZpad) delete fUZpad;
00047   if(fVZpad) delete fVZpad;
00048   if(fXYpad) delete fXYpad;
00049   if(fTpad) delete fTpad;
00050   if(fQpad) delete fQpad;
00051   if(fTitlePad) delete fTitlePad;
00052   if(fTimeDisplay) delete fTimeDisplay;
00053   if(fUviewDis1) delete fUviewDis1;
00054   if(fVviewDis1) delete fVviewDis1;
00055   if(fXYdisplay) delete fXYdisplay;
00056   if(fQbase) delete fQbase;
00057   if(fQtemp) delete fQtemp;
00058   if(fDetOutline) delete fDetOutline;
00059   if(fDetOutlineC) delete fDetOutlineC;
00060   if(uSTR1) delete uSTR1;
00061   if(uSTR2) delete uSTR2;
00062   if(uSTR3) delete uSTR3;
00063   if(uSHW) delete uSHW;
00064   if(uTRK) delete uTRK; 
00065   if(uVTX) delete uVTX;
00066   if(vSTR1) delete vSTR1;
00067   if(vSTR2) delete vSTR2;
00068   if(vSTR3) delete vSTR3;
00069   if(vSHW) delete vSHW;
00070   if(vTRK) delete vTRK; 
00071   if(vVTX) delete vVTX;
00072   if(SHLD1) delete SHLD1;
00073   if(SHLD2) delete SHLD2;
00074   if(SHLD3) delete SHLD3;
00075   if(SHLD4) delete SHLD4;
00076   if(SHLD5) delete SHLD5;
00077   if(SHLD6) delete SHLD6; 
00078   if(strpXY1) delete strpXY1;
00079   if(strpXY2) delete strpXY2;
00080   if(strpXY3) delete strpXY3;
00081   if(strpXY4) delete strpXY4;
00082   if(strpXY5) delete strpXY5; 
00083   if(vtxXY) delete vtxXY;
00084   if(uTIME1e) delete uTIME1e;
00085   if(uTIME2e) delete uTIME2e;
00086   if(uTIME3e) delete uTIME3e;
00087   if(uTIME4e) delete uTIME4e;
00088   if(uTIME5e) delete uTIME5e;
00089   if(uTIME6e) delete uTIME6e;
00090   if(uTIME1w) delete uTIME1w;
00091   if(uTIME2w) delete uTIME2w;
00092   if(uTIME3w) delete uTIME3w;
00093   if(uTIME4w) delete uTIME4w;
00094   if(uTIME5w) delete uTIME5w;
00095   if(uTIME6w) delete uTIME6w;
00096   if(vTIME1e) delete vTIME1e;
00097   if(vTIME2e) delete vTIME2e;
00098   if(vTIME3e) delete vTIME3e;
00099   if(vTIME4e) delete vTIME4e;
00100   if(vTIME5e) delete vTIME5e;
00101   if(vTIME6e) delete vTIME6e;
00102   if(vTIME1w) delete vTIME1w;
00103   if(vTIME2w) delete vTIME2w;
00104   if(vTIME3w) delete vTIME3w;
00105   if(vTIME4w) delete vTIME4w;
00106   if(vTIME5w) delete vTIME5w;
00107   if(vTIME6w) delete vTIME6w;
00108   if(tVTX) delete tVTX;
00109 }


Member Function Documentation

void AtNuEventDisplayAB::Initialize (  ) 

Definition at line 111 of file AtNuEventDisplayAB.cxx.

References fCanvas, fDetOutline, fDetOutlineC, fQbase, fQpad, fQtemp, fTimeDisplay, fTitlePad, fTpad, fUviewDis1, fUZpad, fVviewDis1, fVZpad, fXYdisplay, and fXYpad.

00112 {
00113   gStyle->SetOptStat(0);
00114   gStyle->SetPadBorderMode(0);
00115 
00116   fCanvas = new TCanvas("DisplayCanvas","DisplayCanvas",1260,720); // 1050,600
00117 
00118   fUZpad = new TPad("fUZpad","fUZpad",0.01,0.51,0.29,0.99);
00119   fVZpad = new TPad("fVZpad","fVZpad",0.01,0.01,0.29,0.49);
00120   fXYpad = new TPad("fXYpad","fXYpad",0.30,0.01,0.70,0.75);
00121   fTpad = new TPad("fTpad","fTpad",0.71,0.51,0.99,0.99);
00122   fQpad = new TPad("fQpad","fQpad",0.71,0.01,0.99,0.49);
00123   fTitlePad = new TPad("fTitlePad","fTitlePad",0.30,0.76,0.70,0.99);
00124 
00125   fTimeDisplay = new TH2D("fTimeDisplay","fTimeDisplay",1,0.0,10.0,1,0.0,10.0);
00126   fTimeDisplay->SetStats(kFALSE); fTimeDisplay->SetDirectory(0); 
00127 
00128   fUviewDis1 = new TH2D("UviewDis1","UviewDis1",250,0.0,500.0,96,0.0,192.0);
00129   fVviewDis1 = new TH2D("VviewDis1","VviewDis1",250,0.0,500.0,96,0.0,192.0);
00130   fUviewDis1->SetStats(kFALSE); fVviewDis1->SetStats(kFALSE);
00131   fUviewDis1->SetDirectory(0); fVviewDis1->SetDirectory(0);
00132 
00133   fXYdisplay = new TH2D("fXYdisplay","fXYdisplay",250,-5.0,+5.0,250,-5.0,+5.0);
00134   fXYdisplay->SetStats(kFALSE); fXYdisplay->SetDirectory(0);
00135 
00136   fQbase = new TH1D("fQbase","fQbase",485,0.5,485.5);
00137   fQtemp = 0;
00138 
00139   Double_t x[9];
00140   Double_t y[9];
00141   Double_t xc[9];
00142   Double_t yc[9];
00143 
00144   x[0] = -1.65;
00145   x[1] = +1.64;
00146   x[2] = +4;
00147   x[3] = +4;
00148   x[4] = +1.65;
00149   x[5] = -1.65;
00150   x[6] = -4;
00151   x[7] = -4;
00152   x[8] = -1.65;
00153 
00154   y[0] = -4;
00155   y[1] = -4;
00156   y[2] = -1.65;
00157   y[3] = +1.65;
00158   y[4] = +4;
00159   y[5] = +4;
00160   y[6] = +1.65;
00161   y[7] = -1.65;
00162   y[8] = -4;
00163 
00164   xc[0] = -1.44375;
00165   xc[1] = +1.44375;
00166   xc[2] = +3.5;
00167   xc[3] = +3.5;
00168   xc[4] = +1.44375;
00169   xc[5] = -1.44375;
00170   xc[6] = -3.5;
00171   xc[7] = -3.5;
00172   xc[8] = -1.44375;
00173 
00174   yc[0] = -3.5;
00175   yc[1] = -3.5;
00176   yc[2] = -1.44375;
00177   yc[3] = +1.44375;
00178   yc[4] = +3.5;
00179   yc[5] = +3.5;
00180   yc[6] = +1.44375;
00181   yc[7] = -1.44375;
00182   yc[8] = -3.5;
00183   
00184   fDetOutline = new TPolyLine(9,x,y);
00185   fDetOutlineC = new TPolyLine(9,xc,yc);
00186   fDetOutlineC->SetLineStyle(2);
00187 
00188   fUZpad->Draw();
00189   fVZpad->Draw();
00190   fXYpad->Draw();
00191   fTpad->Draw();
00192   fQpad->Draw();
00193   fTitlePad->Draw();
00194   fCanvas->Draw();
00195 
00196   fUZpad->cd();
00197   fUviewDis1->Draw();
00198   fUviewDis1->SetTitle("Event Profile: U[strip] vs Z[plane]");
00199   fUviewDis1->GetXaxis()->SetTitle("Plane Number");
00200   fUviewDis1->GetYaxis()->SetTitle("Strip Number");
00201   fUviewDis1->GetXaxis()->SetNdivisions(505);
00202   fUviewDis1->GetYaxis()->SetTitleOffset(1.2);
00203   fUviewDis1->GetXaxis()->CenterTitle();
00204   fUviewDis1->GetYaxis()->CenterTitle();
00205 
00206   fVZpad->cd();
00207   fVviewDis1->Draw();
00208   fVviewDis1->SetTitle("Event Profile: V[strip] vs Z[plane]");
00209   fVviewDis1->GetXaxis()->SetTitle("Plane Number");
00210   fVviewDis1->GetYaxis()->SetTitle("Strip Number");
00211   fVviewDis1->GetXaxis()->SetNdivisions(505);
00212   fVviewDis1->GetYaxis()->SetTitleOffset(1.2);
00213   fVviewDis1->GetXaxis()->CenterTitle();
00214   fVviewDis1->GetYaxis()->CenterTitle();
00215 
00216   fXYpad->cd();
00217   fXYdisplay->Draw();
00218   fXYdisplay->SetTitle("");
00219   fXYdisplay->GetXaxis()->SetTitle("X / m");
00220   fXYdisplay->GetYaxis()->SetTitle("Y / m");
00221   fXYdisplay->GetXaxis()->CenterTitle();
00222   fXYdisplay->GetYaxis()->CenterTitle();
00223   
00224   fDetOutline->Draw();
00225   fDetOutlineC->Draw();
00226   
00227   fTpad->cd();
00228   fTimeDisplay->Draw();
00229   fTimeDisplay->SetTitle("Time Profile: T[ns] vs Z[plane]");
00230   fTimeDisplay->GetXaxis()->SetTitle("Plane Number");
00231   fTimeDisplay->GetYaxis()->SetTitle("Time / ns");
00232   fTimeDisplay->GetXaxis()->SetNdivisions(505);
00233   fTimeDisplay->GetYaxis()->SetTitleOffset(1.2);
00234   fTimeDisplay->GetXaxis()->CenterTitle();
00235   fTimeDisplay->GetYaxis()->CenterTitle();
00236 
00237   fQpad->cd();
00238 
00239   fCanvas->Update();
00240 
00241   return;
00242 }

void AtNuEventDisplayAB::MakePicture ( AtmosEvent evt  )  [virtual]

Implements AtNuEventDisplay.

Definition at line 244 of file AtNuEventDisplayAB.cxx.

References AtmosStrip::ClearFibre, AtmosShieldPlank::ClearFibre, fCanvas, fDetOutline, fDetOutlineC, fQbase, fQpad, fQtemp, fRun, fSnarl, fTimeDisplay, fTitlePad, fTpad, fUviewDis1, fUZpad, fVviewDis1, fVZpad, fXYdisplay, fXYpad, AtmosStrip::GreenFibre, AtmosStrip::L, AtmosStrip::Plane, AtmosStrip::QPE, AtmosShieldPlank::QPE, AtmosEvent::RecoInfo, AtmosEvent::Run, AtmosShieldPlank::Section, AtmosEvent::ShieldPlankList, SHLD1, SHLD2, SHLD3, SHLD4, SHLD5, SHLD6, AtmosStrip::Shw, AtmosEvent::Snarl, AtmosStrip::Strip, AtmosEvent::StripList, strpXY1, strpXY2, strpXY3, strpXY4, strpXY5, AtmosStrip::T, AtmosStrip::Tcal, AtmosShieldPlank::Tcal, AtmosStrip::Trk, tVTX, uSHW, uSTR1, uSTR2, uSTR3, uTIME1e, uTIME1w, uTIME2e, uTIME2w, uTIME3e, uTIME3w, uTIME4e, uTIME4w, uTIME5e, uTIME5w, uTIME6e, uTIME6w, uTRK, uVTX, AtmosStrip::View, vSHW, vSTR1, vSTR2, vSTR3, vTIME1e, vTIME1w, vTIME2e, vTIME2w, vTIME3e, vTIME3w, vTIME4e, vTIME4w, vTIME5e, vTIME5w, vTIME6e, vTIME6w, vTRK, AtmosReco::VtxPlane, AtmosReco::VtxTime, AtmosReco::VtxU, AtmosReco::VtxV, AtmosReco::VtxX, vtxXY, AtmosReco::VtxY, vVTX, AtmosStrip::WlsPigtail, AtmosShieldPlank::WlsPigtail, AtmosShieldPlank::X, AtmosShieldPlank::Y, AtmosShieldPlank::Z, and AtmosStrip::Z.

00245 {
00246   if(!evt) return;
00247 
00248   Int_t nbins;
00249   Double_t dU,dV,dZ,dS;
00250   Double_t myU=-999,myV=-999,myX,myY,myZ,myZe,myZw;
00251   Double_t myQe,myQw,myTe,myTw,myTeCorr,myTwCorr;
00252   Int_t myStrip,myPlane,mySection;
00253   Double_t Sqt,Sq;
00254 
00255   Double_t UstrpMin,UstrpMax;
00256   Double_t VstrpMin,VstrpMax;
00257   Double_t ZplnMin,ZplnMax;
00258   Double_t Tmin,Tmax,Tmean;
00259   Double_t teff,zeff,dL;
00260   Double_t oldPH,newPH;
00261   Int_t hbins,hbin0;
00262 
00263   Int_t k;
00264 
00265   /**************
00266    * EVENT INFO *
00267    **************/
00268 
00269   fRun = evt->Run;
00270   fSnarl = evt->Snarl;
00271 
00272   if(uVTX) delete uVTX; uVTX = 0;
00273   if(vVTX) delete vVTX; vVTX = 0;
00274   if(vtxXY) delete vtxXY; vtxXY = 0;
00275   if(tVTX) delete tVTX; tVTX = 0;
00276 
00277   Double_t* evtvtxU = new Double_t[2];
00278   Double_t* evtvtxV = new Double_t[2];
00279   Double_t* evtvtxZ = new Double_t[2];
00280   Double_t* evtvtxT = new Double_t[2];
00281   
00282   Double_t* evtvtxX = new Double_t[2];
00283   Double_t* evtvtxY = new Double_t[2];
00284 
00285   evtvtxU[0] = 95.4960+24.2434*evt->RecoInfo.VtxU; 
00286   evtvtxV[0] = 95.4960+24.2434*evt->RecoInfo.VtxV;
00287   evtvtxZ[0] = evt->RecoInfo.VtxPlane;
00288   evtvtxT[0] = 1.0e9*evt->RecoInfo.VtxTime;
00289   evtvtxX[0] = evt->RecoInfo.VtxX; 
00290   evtvtxY[0] = evt->RecoInfo.VtxY;
00291 
00292   evtvtxU[1] = -999.9; 
00293   evtvtxV[1] = -999.9;
00294   evtvtxZ[1] = -999.9;
00295   evtvtxT[1] = -999.9;
00296   evtvtxX[1] = -999.9; 
00297   evtvtxY[1] = -999.9;
00298 
00299   uVTX = new TPolyMarker(2,evtvtxZ,evtvtxU);
00300   uVTX->SetMarkerColor(6);
00301   uVTX->SetMarkerStyle(29);
00302   uVTX->SetMarkerSize(1.8);
00303 
00304   vVTX = new TPolyMarker(2,evtvtxZ,evtvtxV);
00305   vVTX->SetMarkerColor(6);
00306   vVTX->SetMarkerStyle(29);
00307   vVTX->SetMarkerSize(1.8);
00308   
00309   tVTX = new TPolyMarker(2,evtvtxZ,evtvtxT);
00310   tVTX->SetMarkerColor(6);
00311   tVTX->SetMarkerStyle(29);
00312   tVTX->SetMarkerSize(1.8);
00313 
00314   vtxXY = new TPolyMarker(2,evtvtxX,evtvtxY);
00315   vtxXY->SetMarkerColor(6);
00316   vtxXY->SetMarkerStyle(29);
00317   vtxXY->SetMarkerSize(1.8);
00318 
00319   delete [] evtvtxU;
00320   delete [] evtvtxV;
00321   delete [] evtvtxZ;
00322   delete [] evtvtxT;
00323   delete [] evtvtxX; 
00324   delete [] evtvtxY;
00325 
00326   /******************
00327    * DRAWING STRIPS *
00328    ******************/
00329 
00330   TClonesArray* striplist = dynamic_cast<TClonesArray*>(evt->StripList);
00331   if( striplist && 1+striplist->GetLast()>0 ){
00332     nbins = 1+striplist->GetLast();
00333   }
00334   else{
00335     nbins = 1;
00336   } 
00337 
00338   if(uSTR1) delete uSTR1; uSTR1 = 0; 
00339   if(uSTR2) delete uSTR2; uSTR2 = 0; 
00340   if(uSTR3) delete uSTR3; uSTR3 = 0;
00341   if(uSHW) delete uSHW; uSHW = 0; 
00342   if(uTRK) delete uTRK; uTRK = 0; 
00343 
00344   if(vSTR1) delete vSTR1; vSTR1 = 0; 
00345   if(vSTR2) delete vSTR2; vSTR2 = 0; 
00346   if(vSTR3) delete vSTR3; vSTR3 = 0;
00347   if(vSHW) delete vSHW; vSHW = 0; 
00348   if(vTRK) delete vTRK; vTRK = 0;
00349 
00350   if(strpXY1) delete strpXY1; strpXY1 = 0; 
00351   if(strpXY2) delete strpXY2; strpXY2 = 0; 
00352   if(strpXY3) delete strpXY3; strpXY3 = 0;
00353   if(strpXY4) delete strpXY4; strpXY4 = 0;
00354   if(strpXY5) delete strpXY5; strpXY5 = 0;
00355 
00356   if(uTIME1e) delete uTIME1e; uTIME1e = 0;
00357   if(uTIME2e) delete uTIME2e; uTIME2e = 0;
00358   if(uTIME3e) delete uTIME3e; uTIME3e = 0;
00359   if(uTIME4e) delete uTIME4e; uTIME4e = 0;
00360   if(uTIME5e) delete uTIME5e; uTIME5e = 0;
00361   if(uTIME6e) delete uTIME6e; uTIME6e = 0;
00362   if(uTIME1w) delete uTIME1w; uTIME1w = 0;
00363   if(uTIME2w) delete uTIME2w; uTIME2w = 0;
00364   if(uTIME3w) delete uTIME3w; uTIME3w = 0;
00365   if(uTIME4w) delete uTIME4w; uTIME4w = 0;
00366   if(uTIME5w) delete uTIME5w; uTIME5w = 0;
00367   if(uTIME6w) delete uTIME6w; uTIME6w = 0;
00368 
00369   if(vTIME1e) delete vTIME1e; vTIME1e = 0;
00370   if(vTIME2e) delete vTIME2e; vTIME2e = 0;
00371   if(vTIME3e) delete vTIME3e; vTIME3e = 0;
00372   if(vTIME4e) delete vTIME4e; vTIME4e = 0;
00373   if(vTIME5e) delete vTIME5e; vTIME5e = 0;
00374   if(vTIME6e) delete vTIME6e; vTIME6e = 0;
00375   if(vTIME1w) delete vTIME1w; vTIME1w = 0;
00376   if(vTIME2w) delete vTIME2w; vTIME2w = 0;
00377   if(vTIME3w) delete vTIME3w; vTIME3w = 0;
00378   if(vTIME4w) delete vTIME4w; vTIME4w = 0;
00379   if(vTIME5w) delete vTIME5w; vTIME5w = 0;
00380   if(vTIME6w) delete vTIME6w; vTIME6w = 0;
00381 
00382   if(fQtemp) delete fQtemp; fQtemp = 0;
00383 
00384   Double_t* ustrU1 = new Double_t[nbins]; 
00385   Double_t* ustrZ1 = new Double_t[nbins]; 
00386   Int_t Nstru1 = 0;
00387 
00388   Double_t* ustrU2 = new Double_t[nbins]; 
00389   Double_t* ustrZ2 = new Double_t[nbins]; 
00390   Int_t Nstru2 = 0; 
00391 
00392   Double_t* ustrU3 = new Double_t[nbins]; 
00393   Double_t* ustrZ3 = new Double_t[nbins]; 
00394   Int_t Nstru3 = 0; 
00395 
00396   Double_t* ushwU = new Double_t[nbins];
00397   Double_t* ushwZ = new Double_t[nbins]; 
00398   Int_t Nshwu = 0;
00399 
00400   Double_t* utrkU = new Double_t[nbins]; 
00401   Double_t* utrkZ = new Double_t[nbins]; 
00402   Int_t Ntrku = 0;
00403 
00404   Double_t* vstrV1 = new Double_t[nbins]; 
00405   Double_t* vstrZ1 = new Double_t[nbins]; 
00406   Int_t Nstrv1 = 0;
00407 
00408   Double_t* vstrV2 = new Double_t[nbins];  
00409   Double_t* vstrZ2 = new Double_t[nbins];
00410   Int_t Nstrv2 = 0;
00411 
00412   Double_t* vstrV3 = new Double_t[nbins];  
00413   Double_t* vstrZ3 = new Double_t[nbins];
00414   Int_t Nstrv3 = 0;
00415 
00416   Double_t* vshwV = new Double_t[nbins]; 
00417   Double_t* vshwZ = new Double_t[nbins];
00418   Int_t Nshwv = 0;
00419 
00420   Double_t* vtrkV = new Double_t[nbins]; 
00421   Double_t* vtrkZ = new Double_t[nbins]; 
00422   Int_t Ntrkv = 0;
00423 
00424   Double_t* strpX1 = new Double_t[nbins]; 
00425   Double_t* strpY1 = new Double_t[nbins];
00426   Int_t Nstrp1 = 0;
00427 
00428   Double_t* strpX2 = new Double_t[nbins]; 
00429   Double_t* strpY2 = new Double_t[nbins]; 
00430   Int_t Nstrp2 = 0;
00431 
00432   Double_t* strpX3 = new Double_t[nbins]; 
00433   Double_t* strpY3 = new Double_t[nbins]; 
00434   Int_t Nstrp3 = 0;
00435 
00436   Double_t* strpX4 = new Double_t[nbins]; 
00437   Double_t* strpY4 = new Double_t[nbins]; 
00438   Int_t Nstrp4 = 0;
00439 
00440   Double_t* strpX5 = new Double_t[nbins]; 
00441   Double_t* strpY5 = new Double_t[nbins]; 
00442   Int_t Nstrp5 = 0;
00443 
00444   Double_t* utimeZ1e = new Double_t[nbins]; 
00445   Double_t* utimeT1e = new Double_t[nbins]; 
00446   Int_t Ntimeu1e = 0;
00447 
00448   Double_t* utimeZ2e = new Double_t[nbins]; 
00449   Double_t* utimeT2e = new Double_t[nbins]; 
00450   Int_t Ntimeu2e = 0;
00451 
00452   Double_t* utimeZ3e = new Double_t[nbins]; 
00453   Double_t* utimeT3e = new Double_t[nbins]; 
00454   Int_t Ntimeu3e = 0;
00455 
00456   Double_t* utimeZ4e = new Double_t[nbins]; 
00457   Double_t* utimeT4e = new Double_t[nbins]; 
00458   Int_t Ntimeu4e = 0;
00459 
00460   Double_t* utimeZ5e = new Double_t[nbins]; 
00461   Double_t* utimeT5e = new Double_t[nbins]; 
00462   Int_t Ntimeu5e = 0;
00463 
00464   Double_t* utimeZ6e = new Double_t[nbins]; 
00465   Double_t* utimeT6e = new Double_t[nbins]; 
00466   Int_t Ntimeu6e = 0;
00467 
00468   Double_t* utimeZ1w = new Double_t[nbins]; 
00469   Double_t* utimeT1w = new Double_t[nbins]; 
00470   Int_t Ntimeu1w = 0;
00471 
00472   Double_t* utimeZ2w = new Double_t[nbins]; 
00473   Double_t* utimeT2w = new Double_t[nbins]; 
00474   Int_t Ntimeu2w = 0;
00475 
00476   Double_t* utimeZ3w = new Double_t[nbins]; 
00477   Double_t* utimeT3w = new Double_t[nbins]; 
00478   Int_t Ntimeu3w = 0;
00479 
00480   Double_t* utimeZ4w = new Double_t[nbins]; 
00481   Double_t* utimeT4w = new Double_t[nbins]; 
00482   Int_t Ntimeu4w = 0;
00483 
00484   Double_t* utimeZ5w = new Double_t[nbins]; 
00485   Double_t* utimeT5w = new Double_t[nbins]; 
00486   Int_t Ntimeu5w = 0;
00487 
00488   Double_t* utimeZ6w = new Double_t[nbins]; 
00489   Double_t* utimeT6w = new Double_t[nbins]; 
00490   Int_t Ntimeu6w = 0;
00491 
00492   Double_t* vtimeZ1e = new Double_t[nbins]; 
00493   Double_t* vtimeT1e = new Double_t[nbins];
00494   Int_t Ntimev1e = 0;
00495 
00496   Double_t* vtimeZ2e = new Double_t[nbins]; 
00497   Double_t* vtimeT2e = new Double_t[nbins];
00498   Int_t Ntimev2e = 0;
00499 
00500   Double_t* vtimeZ3e = new Double_t[nbins]; 
00501   Double_t* vtimeT3e = new Double_t[nbins];
00502   Int_t Ntimev3e = 0;
00503 
00504   Double_t* vtimeZ4e = new Double_t[nbins]; 
00505   Double_t* vtimeT4e = new Double_t[nbins];
00506   Int_t Ntimev4e = 0;
00507   
00508   Double_t* vtimeZ5e = new Double_t[nbins]; 
00509   Double_t* vtimeT5e = new Double_t[nbins];
00510   Int_t Ntimev5e = 0;
00511 
00512   Double_t* vtimeZ6e = new Double_t[nbins]; 
00513   Double_t* vtimeT6e = new Double_t[nbins];
00514   Int_t Ntimev6e = 0;
00515 
00516   Double_t* vtimeZ1w = new Double_t[nbins]; 
00517   Double_t* vtimeT1w = new Double_t[nbins];
00518   Int_t Ntimev1w = 0;
00519 
00520   Double_t* vtimeZ2w = new Double_t[nbins]; 
00521   Double_t* vtimeT2w = new Double_t[nbins];
00522   Int_t Ntimev2w = 0;
00523 
00524   Double_t* vtimeZ3w = new Double_t[nbins]; 
00525   Double_t* vtimeT3w = new Double_t[nbins];
00526   Int_t Ntimev3w = 0;
00527 
00528   Double_t* vtimeZ4w = new Double_t[nbins]; 
00529   Double_t* vtimeT4w = new Double_t[nbins];
00530   Int_t Ntimev4w = 0;
00531 
00532   Double_t* vtimeZ5w = new Double_t[nbins]; 
00533   Double_t* vtimeT5w = new Double_t[nbins];
00534   Int_t Ntimev5w = 0;
00535 
00536   Double_t* vtimeZ6w = new Double_t[nbins]; 
00537   Double_t* vtimeT6w = new Double_t[nbins];
00538   Int_t Ntimev6w = 0;
00539 
00540   for(k=0;k<485;k++){
00541     fQbase->SetBinContent(k+1,0);
00542   }
00543 
00544   UstrpMin=-9999.9; UstrpMax=-9999.9;
00545   VstrpMin=-9999.9; VstrpMax=-9999.9;
00546   ZplnMin=-9999.9; ZplnMax=-9999.9;
00547   Tmin=-9999.9; Tmax=-9999.9; Tmean=-9999.9;
00548   Sqt=0.0; Sq=0.0;
00549 
00550   if( nbins>1 ){
00551 
00552     for(Int_t tmpint=0;tmpint<1+striplist->GetLast();tmpint++){
00553       AtmosStrip* strip = dynamic_cast<AtmosStrip*>(striplist->At(tmpint));
00554           
00555       if( strip->View > -1 ){
00556 
00557         myStrip = strip->Strip;
00558         myPlane = strip->Plane;
00559         myZ = strip->Z;
00560         myQe = strip->QPE[0];
00561         myQw = strip->QPE[1];
00562         myTe = 1.0e9*strip->Tcal[0]
00563           - (1.77/0.3)*(strip->GreenFibre[0])
00564           - (1.77/0.3)*(strip->WlsPigtail[0])
00565           - (1.77/0.3)*(strip->ClearFibre[0]);
00566         myTw = 1.0e9*strip->Tcal[1]
00567           - (1.77/0.3)*(strip->GreenFibre[1])
00568           - (1.77/0.3)*(strip->WlsPigtail[1])
00569           - (1.77/0.3)*(strip->ClearFibre[1]);
00570 
00571         if( strip->View == 0 ){
00572           myU = strip->T;
00573           myV = strip->L;
00574         }
00575 
00576         if( strip->View == 1 ){
00577           myU = strip->L;
00578           myV = strip->T;
00579         }
00580 
00581         if( myQe+myQw > 4.0 ){
00582 
00583           if( strip->View == 0 ){
00584             if( UstrpMin<-9999.0 || myStrip<UstrpMin ) UstrpMin=myStrip;
00585             if( UstrpMax<-9999.0 || myStrip>UstrpMax ) UstrpMax=myStrip;
00586           }
00587 
00588           if( strip->View == 1 ){
00589             if( VstrpMin<-9999.0 || myStrip<VstrpMin ) VstrpMin=myStrip;
00590             if( VstrpMax<-9999.0 || myStrip>VstrpMax ) VstrpMax=myStrip;
00591           }
00592               
00593           if( ZplnMin<-9999.0 || myPlane<ZplnMin ) ZplnMin=myPlane;
00594           if( ZplnMax<-9999.0 || myPlane>ZplnMax ) ZplnMax=myPlane;
00595 
00596           if( myQe>0.0 ){
00597             if( Tmin<-9999.0 || myTe<Tmin ) Tmin=myTe;
00598             if( Tmax<-9999.0 || myTe>Tmax ) Tmax=myTe;
00599             Sqt+=myQe*myTe; Sq+=myQe;
00600           }
00601           if( myQw>0.0 ){
00602             if( Tmin<-9999.0 || myTw<Tmin ) Tmin=myTw;
00603             if( Tmax<-9999.0 || myTw>Tmax ) Tmax=myTw;
00604             Sqt+=myQw*myTw; Sq+=myQw;
00605           }
00606         }
00607 
00608         myX = 0.7071*(myU-myV);
00609         myY = 0.7071*(myU+myV);
00610 
00611         if( strip->View == 0 ){
00612           if( myQe+myQw<3.0 ){
00613             if( Nstru1<nbins ){
00614               ustrU1[Nstru1] = myStrip; ustrZ1[Nstru1] = myPlane; 
00615               Nstru1++;
00616             }
00617           }
00618           if( myQe+myQw>=3.0 && myQe+myQw<7.0){
00619             if( Nstru2<nbins ){
00620               ustrU2[Nstru2] = myStrip; ustrZ2[Nstru2] = myPlane; 
00621               Nstru2++;
00622             } 
00623           }
00624           if( myQe+myQw>=7.0 && Nstru3<nbins ){
00625             ustrU3[Nstru3] = myStrip; ustrZ3[Nstru3] = myPlane; 
00626             Nstru3++;
00627           }
00628           if( strip->Shw>0 && Nshwu<nbins ){
00629             ushwU[Nshwu] = myStrip; ushwZ[Nshwu] = myPlane; 
00630             Nshwu++;
00631           }
00632           if( strip->Trk>0 && Ntrku<nbins ){
00633             utrkU[Ntrku] = myStrip; utrkZ[Ntrku] = myPlane; 
00634             Ntrku++;
00635           }
00636           if( strip->Trk == 1 ){
00637             if( myQe+myQw<3.0 ){
00638               if( myQe>0.0 && Ntimeu1e<nbins ){
00639                 utimeZ1e[Ntimeu1e] = myPlane; utimeT1e[Ntimeu1e] = myTe; 
00640                 Ntimeu1e++;
00641               }
00642               if( myQw>0.0 && Ntimeu1w<nbins ){
00643                 utimeZ1w[Ntimeu1w] = myPlane; utimeT1w[Ntimeu1w] = myTw; 
00644                 Ntimeu1w++;
00645               }
00646             }
00647             if( myQe+myQw>=3.0 && myQe+myQw<7.0 ){
00648               if( myQe>0.0 && Ntimeu2e<nbins ){
00649                 utimeZ2e[Ntimeu2e] = myPlane; utimeT2e[Ntimeu2e] = myTe; 
00650                 Ntimeu2e++;
00651               }
00652               if( myQw>0.0 && Ntimeu2w<nbins ){
00653                 utimeZ2w[Ntimeu2w] = myPlane; utimeT2w[Ntimeu2w] = myTw; 
00654                 Ntimeu2w++;
00655               }
00656             }
00657             if( myQe+myQw>=7.0 && myQe+myQw<13.0 ){
00658               if( myQe>0.0 && Ntimeu3e<nbins ){
00659                 utimeZ3e[Ntimeu3e] = myPlane; utimeT3e[Ntimeu3e] = myTe; 
00660                 Ntimeu3e++;
00661               }
00662               if( myQw>0.0 && Ntimeu3w<nbins ){
00663                 utimeZ3w[Ntimeu3w] = myPlane; utimeT3w[Ntimeu3w] = myTw; 
00664                 Ntimeu3w++;
00665               }
00666             }
00667             if( myQe+myQw>=13.0 && myQe+myQw<40.0 ){
00668               if( myQe>0.0 && Ntimeu4e<nbins ){
00669                 utimeZ4e[Ntimeu4e] = myPlane; utimeT4e[Ntimeu4e] = myTe; 
00670                 Ntimeu4e++;
00671               }
00672               if( myQw>0.0 && Ntimeu4w<nbins ){
00673                 utimeZ4w[Ntimeu4w] = myPlane; utimeT4w[Ntimeu4w] = myTw; 
00674                 Ntimeu4w++;
00675               }
00676             }
00677             if( myQe+myQw>=40.0 ){
00678               if( myQe>0.0 && Ntimeu5e<nbins ){
00679                 utimeZ5e[Ntimeu5e] = myPlane; utimeT5e[Ntimeu5e] = myTe; 
00680                 Ntimeu5e++;
00681               }
00682               if( myQw>0.0 && Ntimeu5w<nbins ){
00683                 utimeZ5w[Ntimeu5w] = myPlane; utimeT5w[Ntimeu5w] = myTw; 
00684                 Ntimeu5w++;
00685               }
00686             }
00687           }
00688           else{
00689             if( myQe+myQw>0 ){
00690               if( myQe>0.0 && Ntimeu6e<nbins ){
00691                 utimeZ6e[Ntimeu6e] = myPlane; utimeT6e[Ntimeu6e] = myTe; 
00692                 Ntimeu6e++;
00693               }
00694               if( myQw>0.0 && Ntimeu6w<nbins ){
00695                 utimeZ6w[Ntimeu6w] = myPlane; utimeT6w[Ntimeu6w] = myTw; 
00696                 Ntimeu6w++;
00697               }
00698             }
00699           }
00700         }
00701                   
00702         if( strip->View == 1 ){
00703           if( myQe+myQw<3.0 ){
00704             if( Nstrv1<nbins ){
00705               vstrV1[Nstrv1] = myStrip; vstrZ1[Nstrv1] = myPlane; 
00706               Nstrv1++;
00707             }
00708           }
00709           if( myQe+myQw>=3.0 && myQe+myQw<7.0 ){
00710             if( Nstrv2<nbins ){
00711               vstrV2[Nstrv2] = myStrip; vstrZ2[Nstrv2] = myPlane; 
00712               Nstrv2++;
00713             } 
00714           }
00715           if( myQe+myQw>=7.0 && Nstrv3<nbins ){
00716             vstrV3[Nstrv3] = myStrip; vstrZ3[Nstrv3] = myPlane; 
00717             Nstrv3++;
00718           }
00719           if( strip->Shw>0 && Nshwv<nbins ){
00720             vshwV[Nshwv] = myStrip; vshwZ[Nshwv] = myPlane; 
00721             Nshwv++;
00722           }
00723           if( strip->Trk>0 && Ntrkv<nbins ){
00724             vtrkV[Ntrkv] = myStrip; vtrkZ[Ntrkv] = myPlane; 
00725             Ntrkv++;
00726           }
00727           if( strip->Trk == 1 ){
00728             if( myQe+myQw<3.0 ){
00729               if( myQe>0.0 && Ntimev1e<nbins ){
00730                 vtimeZ1e[Ntimev1e] = myPlane; vtimeT1e[Ntimev1e] = myTe; 
00731                 Ntimev1e++;
00732               }
00733               if( myQw>0.0 && Ntimev1w<nbins ){
00734                 vtimeZ1w[Ntimev1w] = myPlane; vtimeT1w[Ntimev1w] = myTw; 
00735                 Ntimev1w++;
00736               }
00737             }
00738             if( myQe+myQw>=3.0 && myQe+myQw<7.0 ){
00739               if( myQe>0.0 && Ntimev2e<nbins ){
00740                 vtimeZ2e[Ntimev2e] = myPlane; vtimeT2e[Ntimev2e] = myTe; 
00741                 Ntimev2e++;
00742               }
00743               if( myQw>0.0 && Ntimev2w<nbins ){
00744                 vtimeZ2w[Ntimev2w] = myPlane; vtimeT2w[Ntimev2w] = myTw; 
00745                 Ntimev2w++;
00746               }
00747             }
00748             if( myQe+myQw>=7.0 && myQe+myQw<13.0 ){
00749               if( myQe>0.0 && Ntimev3e<nbins ){
00750                 vtimeZ3e[Ntimev3e] = myPlane; vtimeT3e[Ntimev3e] = myTe; 
00751                 Ntimev3e++;
00752               }
00753               if( myQw>0.0 && Ntimev3w<nbins ){
00754                 vtimeZ3w[Ntimev3w] = myPlane; vtimeT3w[Ntimev3w] = myTw; 
00755                 Ntimev3w++;
00756               }
00757             }
00758             if( myQe+myQw>=13.0 && myQe+myQw<40.0 ){
00759               if( myQe>0.0 && Ntimev4e<nbins ){
00760                 vtimeZ4e[Ntimev4e] = myPlane; vtimeT4e[Ntimev4e] = myTe; 
00761                 Ntimev4e++;
00762               }
00763               if( myQw>0.0 && Ntimev4w<nbins ){
00764                 vtimeZ4w[Ntimev4w] = myPlane; vtimeT4w[Ntimev4w] = myTw; 
00765                 Ntimev4w++;
00766               }
00767             }
00768             if( myQe+myQw>=40.0 ){
00769               if( myQe>0.0 && Ntimev5e<nbins ){
00770                 vtimeZ5e[Ntimev5e] = myPlane; vtimeT5e[Ntimev5e] = myTe; 
00771                 Ntimev5e++;
00772               }
00773               if( myQw>0.0 && Ntimev5w<nbins ){
00774                 vtimeZ5w[Ntimev5w] = myPlane; vtimeT5w[Ntimev5w] = myTw; 
00775                 Ntimev5w++;
00776               }
00777             }
00778           }
00779           else{
00780             if( myQe+myQw>0.0 ){
00781               if( myQe>0.0 && Ntimev6e<nbins ){
00782                 vtimeZ6e[Ntimev6e] = myPlane; vtimeT6e[Ntimev6e] = myTe; 
00783                 Ntimev6e++;
00784               }
00785               if( myQw>0.0 && Ntimev6w<nbins ){
00786                 vtimeZ6w[Ntimev6w] = myPlane; vtimeT6w[Ntimev6w] = myTw; 
00787                 Ntimev6w++;
00788               }
00789             }
00790           }
00791         }
00792 
00793         if( myQe+myQw<3.0 && Nstrp1<nbins ){
00794           strpX1[Nstrp1] = myX; 
00795           strpY1[Nstrp1] = myY;
00796           Nstrp1++;
00797         }
00798 
00799         if( myQe+myQw>=3.0 && myQe+myQw<7.0 && Nstrp2<nbins ){
00800           strpX2[Nstrp2] = myX; 
00801           strpY2[Nstrp2] = myY; 
00802           Nstrp2++;
00803         }
00804 
00805         if( myQe+myQw>=7.0 && myQe+myQw<13.0 && Nstrp3<nbins ){
00806           strpX3[Nstrp3] = myX; 
00807           strpY3[Nstrp3] = myY; 
00808           Nstrp3++;
00809         }
00810 
00811         if( myQe+myQw>=13.0 && myQe+myQw<40.0 && Nstrp4<nbins ){
00812           strpX4[Nstrp4] = myX; 
00813           strpY4[Nstrp4] = myY; 
00814           Nstrp4++;
00815         }
00816 
00817         if( myQe+myQw>=40.0 && Nstrp5<nbins ){
00818           strpX5[Nstrp5] = myX; 
00819           strpY5[Nstrp5] = myY; 
00820           Nstrp5++;
00821         }
00822 
00823         k = myPlane;
00824         oldPH = fQbase->GetBinContent(k+1);
00825         newPH = oldPH + myQe + myQw;
00826         fQbase->SetBinContent(k+1,newPH);          
00827 
00828       }
00829     }
00830 
00831     if(Nstru1>0){
00832       uSTR1 = new TPolyMarker(Nstru1,ustrZ1,ustrU1);
00833       uSTR1->SetMarkerStyle(24); uSTR1->SetMarkerColor(5); uSTR1->SetMarkerSize(1.2);
00834     }
00835  
00836     if(Nstru2>0){
00837       uSTR2 = new TPolyMarker(Nstru2,ustrZ2,ustrU2);
00838       uSTR2->SetMarkerStyle(24); uSTR2->SetMarkerColor(7); uSTR2->SetMarkerSize(1.2);
00839     }
00840 
00841     if(Nstru3>0){
00842       uSTR3 = new TPolyMarker(Nstru3,ustrZ3,ustrU3);
00843       uSTR3->SetMarkerStyle(24); uSTR3->SetMarkerColor(9); uSTR3->SetMarkerSize(1.2);
00844     }
00845 
00846     if(Nshwu>0){
00847       uSHW = new TPolyMarker(Nshwu,ushwZ,ushwU); 
00848       uSHW->SetMarkerStyle(20); uSHW->SetMarkerColor(2); uSHW->SetMarkerSize(1.2);
00849     }
00850 
00851     if(Ntrku>0){
00852       uTRK = new TPolyMarker(Ntrku,utrkZ,utrkU);
00853       uTRK->SetMarkerStyle(20); uTRK->SetMarkerColor(8); uTRK->SetMarkerSize(1.2); 
00854     }
00855 
00856     if(Nstrv1>0){
00857       vSTR1 = new TPolyMarker(Nstrv1,vstrZ1,vstrV1);
00858       vSTR1->SetMarkerStyle(24); vSTR1->SetMarkerColor(5); vSTR1->SetMarkerSize(1.2);
00859     }
00860 
00861     if(Nstrv2>0){
00862       vSTR2 = new TPolyMarker(Nstrv2,vstrZ2,vstrV2); 
00863       vSTR2->SetMarkerStyle(24); vSTR2->SetMarkerColor(7); vSTR2->SetMarkerSize(1.2);
00864     }
00865 
00866     if(Nstrv3>0){
00867       vSTR3 = new TPolyMarker(Nstrv3,vstrZ3,vstrV3);
00868       vSTR3->SetMarkerStyle(24); vSTR3->SetMarkerColor(9); vSTR3->SetMarkerSize(1.2);
00869     }
00870 
00871     if(Nshwv>0){
00872       vSHW = new TPolyMarker(Nshwv,vshwZ,vshwV); 
00873       vSHW->SetMarkerStyle(20); vSHW->SetMarkerColor(2); vSHW->SetMarkerSize(1.2);
00874     }
00875 
00876     if(Ntrkv>0){
00877       vTRK = new TPolyMarker(Ntrkv,vtrkZ,vtrkV);
00878       vTRK->SetMarkerStyle(20); vTRK->SetMarkerColor(8); vTRK->SetMarkerSize(1.2); 
00879     }
00880 
00881     if(Nstrp1>0){
00882       strpXY1 = new TPolyMarker(Nstrp1,strpX1,strpY1);
00883       strpXY1->SetMarkerStyle(20); strpXY1->SetMarkerColor(5); strpXY1->SetMarkerSize(1.2); 
00884     }
00885 
00886     if(Nstrp2>0){
00887       strpXY2 = new TPolyMarker(Nstrp2,strpX2,strpY2); 
00888       strpXY2->SetMarkerStyle(20); strpXY2->SetMarkerColor(7); strpXY2->SetMarkerSize(1.2); 
00889     }
00890 
00891     if(Nstrp3>0){
00892       strpXY3 = new TPolyMarker(Nstrp3,strpX3,strpY3);
00893       strpXY3->SetMarkerStyle(20); strpXY3->SetMarkerColor(3); strpXY3->SetMarkerSize(1.2); 
00894     }
00895 
00896     if(Nstrp4>0){
00897       strpXY4 = new TPolyMarker(Nstrp4,strpX4,strpY4);
00898       strpXY4->SetMarkerStyle(20); strpXY4->SetMarkerColor(8); strpXY4->SetMarkerSize(1.2);
00899     }
00900 
00901     if(Nstrp5>0){
00902       strpXY5 = new TPolyMarker(Nstrp5,strpX5,strpY5);
00903       strpXY5->SetMarkerStyle(20); strpXY5->SetMarkerColor(2); strpXY5->SetMarkerSize(1.2);
00904     }
00905 
00906     if(Ntimeu1e>0){
00907       uTIME1e = new TPolyMarker(Ntimeu1e,utimeZ1e,utimeT1e);
00908       uTIME1e->SetMarkerStyle(20); uTIME1e->SetMarkerColor(5); uTIME1e->SetMarkerSize(1.2);
00909     }
00910 
00911     if(Ntimeu2e>0){
00912       uTIME2e = new TPolyMarker(Ntimeu2e,utimeZ2e,utimeT2e);
00913       uTIME2e->SetMarkerStyle(20); uTIME2e->SetMarkerColor(7); uTIME2e->SetMarkerSize(1.2);
00914     }
00915 
00916     if(Ntimeu3e>0){
00917       uTIME3e = new TPolyMarker(Ntimeu3e,utimeZ3e,utimeT3e);
00918       uTIME3e->SetMarkerStyle(20); uTIME3e->SetMarkerColor(3); uTIME3e->SetMarkerSize(1.2);
00919     }
00920 
00921     if(Ntimeu4e>0){
00922       uTIME4e = new TPolyMarker(Ntimeu4e,utimeZ4e,utimeT4e);
00923       uTIME4e->SetMarkerStyle(20); uTIME4e->SetMarkerColor(8); uTIME4e->SetMarkerSize(1.2);
00924     }
00925 
00926     if(Ntimeu5e>0){
00927       uTIME5e = new TPolyMarker(Ntimeu5e,utimeZ5e,utimeT5e);
00928       uTIME5e->SetMarkerStyle(20); uTIME5e->SetMarkerColor(2); uTIME5e->SetMarkerSize(1.2);
00929     }
00930 
00931     if(Ntimeu6e>0){
00932       uTIME6e = new TPolyMarker(Ntimeu6e,utimeZ6e,utimeT6e);
00933       uTIME6e->SetMarkerStyle(24); uTIME6e->SetMarkerColor(9); uTIME6e->SetMarkerSize(1.2);
00934     }
00935 
00936     if(Ntimeu1w>0){
00937       uTIME1w = new TPolyMarker(Ntimeu1w,utimeZ1w,utimeT1w);
00938       uTIME1w->SetMarkerStyle(20); uTIME1w->SetMarkerColor(5); uTIME1w->SetMarkerSize(1.2);
00939     }
00940 
00941     if(Ntimeu2w>0){
00942       uTIME2w = new TPolyMarker(Ntimeu2w,utimeZ2w,utimeT2w);
00943       uTIME2w->SetMarkerStyle(20); uTIME2w->SetMarkerColor(7); uTIME2w->SetMarkerSize(1.2);
00944     }
00945 
00946     if(Ntimeu3w>0){
00947       uTIME3w = new TPolyMarker(Ntimeu3w,utimeZ3w,utimeT3w);
00948       uTIME3w->SetMarkerStyle(20); uTIME3w->SetMarkerColor(3); uTIME3w->SetMarkerSize(1.2);
00949     }
00950 
00951     if(Ntimeu4w>0){
00952       uTIME4w = new TPolyMarker(Ntimeu4w,utimeZ4w,utimeT4w);
00953       uTIME4w->SetMarkerStyle(20); uTIME4w->SetMarkerColor(8); uTIME4w->SetMarkerSize(1.2);
00954     }
00955 
00956     if(Ntimeu5w>0){
00957       uTIME5w = new TPolyMarker(Ntimeu5w,utimeZ5w,utimeT5w);
00958       uTIME5w->SetMarkerStyle(20); uTIME5w->SetMarkerColor(2); uTIME5w->SetMarkerSize(1.2);
00959     }
00960 
00961     if(Ntimeu6w>0){
00962       uTIME6w = new TPolyMarker(Ntimeu6w,utimeZ6w,utimeT6w);
00963       uTIME6w->SetMarkerStyle(24); uTIME6w->SetMarkerColor(9); uTIME6w->SetMarkerSize(1.2);
00964     }
00965 
00966     if(Ntimev1e>0){
00967       vTIME1e = new TPolyMarker(Ntimev1e,vtimeZ1e,vtimeT1e);
00968       vTIME1e->SetMarkerStyle(20); vTIME1e->SetMarkerColor(5); vTIME1e->SetMarkerSize(1.2);
00969     }
00970 
00971     if(Ntimev2e>0){
00972       vTIME2e = new TPolyMarker(Ntimev2e,vtimeZ2e,vtimeT2e);
00973       vTIME2e->SetMarkerStyle(20); vTIME2e->SetMarkerColor(7); vTIME2e->SetMarkerSize(1.2);
00974     }
00975 
00976     if(Ntimev3e>0){
00977       vTIME3e = new TPolyMarker(Ntimev3e,vtimeZ3e,vtimeT3e);
00978       vTIME3e->SetMarkerStyle(20); vTIME3e->SetMarkerColor(3); vTIME3e->SetMarkerSize(1.2); 
00979     }
00980 
00981     if(Ntimev4e>0){
00982       vTIME4e = new TPolyMarker(Ntimev4e,vtimeZ4e,vtimeT4e);
00983       vTIME4e->SetMarkerStyle(20); vTIME4e->SetMarkerColor(8); vTIME4e->SetMarkerSize(1.2);
00984     }
00985 
00986     if(Ntimev5e>0){
00987       vTIME5e = new TPolyMarker(Ntimev5e,vtimeZ5e,vtimeT5e);
00988       vTIME5e->SetMarkerStyle(20); vTIME5e->SetMarkerColor(2); vTIME5e->SetMarkerSize(1.2);
00989     }
00990 
00991     if(Ntimev6e>0){
00992       vTIME6e = new TPolyMarker(Ntimev6e,vtimeZ6e,vtimeT6e);
00993       vTIME6e->SetMarkerStyle(24); vTIME6e->SetMarkerColor(9); vTIME6e->SetMarkerSize(1.2); 
00994     }
00995 
00996     if(Ntimev1w>0){
00997       vTIME1w = new TPolyMarker(Ntimev1w,vtimeZ1w,vtimeT1w);
00998       vTIME1w->SetMarkerStyle(20); vTIME1w->SetMarkerColor(5); vTIME1w->SetMarkerSize(1.2);
00999     }
01000 
01001     if(Ntimev2w>0){
01002       vTIME2w = new TPolyMarker(Ntimev2w,vtimeZ2w,vtimeT2w);
01003       vTIME2w->SetMarkerStyle(20); vTIME2w->SetMarkerColor(7); vTIME2w->SetMarkerSize(1.2);
01004     }
01005 
01006     if(Ntimev3w>0){
01007       vTIME3w = new TPolyMarker(Ntimev3w,vtimeZ3w,vtimeT3w);
01008       vTIME3w->SetMarkerStyle(20); vTIME3w->SetMarkerColor(3); vTIME3w->SetMarkerSize(1.2); 
01009     }
01010 
01011     if(Ntimev4w>0){
01012       vTIME4w = new TPolyMarker(Ntimev4w,vtimeZ4w,vtimeT4w);
01013       vTIME4w->SetMarkerStyle(20); vTIME4w->SetMarkerColor(8); vTIME4w->SetMarkerSize(1.2);
01014     }
01015 
01016     if(Ntimev5w>0){
01017       vTIME5w = new TPolyMarker(Ntimev5w,vtimeZ5w,vtimeT5w);
01018       vTIME5w->SetMarkerStyle(20); vTIME5w->SetMarkerColor(2); vTIME5w->SetMarkerSize(1.2);
01019     }
01020 
01021     if(Ntimev6w>0){
01022       vTIME6w = new TPolyMarker(Ntimev6w,vtimeZ6w,vtimeT6w);
01023       vTIME6w->SetMarkerStyle(24); vTIME6w->SetMarkerColor(9); vTIME6w->SetMarkerSize(1.2); 
01024     }
01025   }
01026 
01027   if( ZplnMax-ZplnMin>0 ){
01028     zeff = ZplnMax-ZplnMin+2.0;
01029     teff = 1.5*(ZplnMax-ZplnMin);
01030     if(VstrpMax-VstrpMin>teff) teff=VstrpMax-VstrpMin+2.0;
01031     if(UstrpMax-UstrpMin>teff) teff=UstrpMax-UstrpMin+2.0;
01032     if(0.66*(VstrpMax-VstrpMin)>zeff) zeff=0.66*(VstrpMax-VstrpMin)+2.0;
01033     if(0.66*(UstrpMax-UstrpMin)>zeff) zeff=0.66*(VstrpMax-VstrpMin)+2.0;
01034     if(zeff>ZplnMax-ZplnMin){
01035       dL=0.5*(zeff-ZplnMax+ZplnMin);
01036       ZplnMax=ZplnMax+dL; ZplnMin=ZplnMin-dL;
01037     }
01038     if(teff>VstrpMax-VstrpMin){
01039       dL=0.5*(teff-VstrpMax+VstrpMin);
01040       VstrpMax=VstrpMax+dL; VstrpMin=VstrpMin-dL;
01041     }
01042     if(teff>UstrpMax-UstrpMin){
01043       dL=0.5*(teff-UstrpMax+UstrpMin);
01044       UstrpMax=UstrpMax+dL; UstrpMin=UstrpMin-dL;
01045     }
01046   }
01047 
01048   dZ=-999.9;
01049   if( ZplnMax-ZplnMin>0 ){
01050     dZ=0.059*(ZplnMax-ZplnMin);
01051   }
01052 
01053   dU=-999.9;
01054   if( UstrpMax-UstrpMin>0 ){
01055     dU=0.041*(UstrpMax-UstrpMin);
01056   }
01057 
01058   dV=-999.9;
01059   if( VstrpMax-VstrpMin>0 ){
01060     dV=0.041*(VstrpMax-VstrpMin);
01061   }
01062 
01063   dS=-999.9;
01064   if( dU>0.0 && dV>0.0 && dZ>0.0 ){
01065     dS=sqrt(dU*dU+dV*dV+dZ*dZ);
01066   }
01067 
01068   if( ZplnMax>ZplnMin ){
01069     ZplnMin=ZplnMin-5.5; ZplnMax=ZplnMax+5.5;
01070   }
01071  
01072   if( (ZplnMax-ZplnMin<=0) 
01073    || (ZplnMin<=-8999.9 && ZplnMax<=-8999.9) ){ 
01074     ZplnMin=0.5; ZplnMax=485.5;
01075   }
01076 
01077   if( (UstrpMax-UstrpMin<=0)
01078    || (UstrpMin<=-8999.9 && UstrpMax<=-8999.9) ){
01079     UstrpMin=-0.5; UstrpMax=191.5; 
01080   }
01081 
01082   if( (VstrpMax-VstrpMin<=0)
01083    || (VstrpMin<=-8999.9 && VstrpMax<=-8999.9) ){
01084     VstrpMin=-0.5; VstrpMax=191.5; 
01085   }
01086 
01087   if( Tmax-Tmin>0 ){
01088     Tmin=Tmin-1.0;
01089     Tmax=Tmax+1.0;
01090   }
01091 
01092   if( Tmax-Tmin>0 ){
01093     if( Sq>0.0 && dS>0.0 ){
01094       Tmean=Sqt/Sq;
01095       if(Tmin<Tmean-2.0*dS-10.0){
01096         Tmin=Tmean-2.0*dS-10.0;
01097       }
01098       if(Tmax>Tmean+2.0*dS+10.0){
01099         Tmax=Tmean+2.0*dS+10.0;
01100       }
01101     }
01102   }
01103 
01104   if( ( Tmax-Tmin<=0 ) 
01105    || ( Tmin<=-8999.9 && Tmax<=-8999.9 ) ){
01106     Tmin=-50.0; Tmax=150.0;
01107   }
01108 
01109   delete [] ustrU1; 
01110   delete [] ustrZ1; 
01111   delete [] ustrU2;
01112   delete [] ustrZ2; 
01113   delete [] ustrU3;
01114   delete [] ustrZ3;
01115   delete [] ushwU; 
01116   delete [] ushwZ; 
01117   delete [] utrkU; 
01118   delete [] utrkZ; 
01119   
01120   delete [] vstrV1; 
01121   delete [] vstrZ1; 
01122   delete [] vstrV2;
01123   delete [] vstrZ2;
01124   delete [] vstrV3;
01125   delete [] vstrZ3; 
01126   delete [] vshwV;
01127   delete [] vshwZ; 
01128   delete [] vtrkV; 
01129   delete [] vtrkZ; 
01130 
01131   delete [] strpX1; 
01132   delete [] strpY1;
01133   delete [] strpX2; 
01134   delete [] strpY2; 
01135   delete [] strpX3; 
01136   delete [] strpY3;
01137   delete [] strpX4; 
01138   delete [] strpY4; 
01139   delete [] strpX5; 
01140   delete [] strpY5;
01141 
01142   delete [] utimeT1e;
01143   delete [] utimeZ1e;
01144   delete [] utimeT2e;
01145   delete [] utimeZ2e;
01146   delete [] utimeT3e;
01147   delete [] utimeZ3e;
01148   delete [] utimeT4e;
01149   delete [] utimeZ4e;
01150   delete [] utimeT5e;
01151   delete [] utimeZ5e;
01152   delete [] utimeT6e;
01153   delete [] utimeZ6e;
01154 
01155   delete [] utimeT1w;
01156   delete [] utimeZ1w;
01157   delete [] utimeT2w;
01158   delete [] utimeZ2w;
01159   delete [] utimeT3w;
01160   delete [] utimeZ3w;
01161   delete [] utimeT4w;
01162   delete [] utimeZ4w;
01163   delete [] utimeT5w;
01164   delete [] utimeZ5w;
01165   delete [] utimeT6w;
01166   delete [] utimeZ6w;
01167  
01168   delete [] vtimeT1e; 
01169   delete [] vtimeZ1e; 
01170   delete [] vtimeT2e; 
01171   delete [] vtimeZ2e;
01172   delete [] vtimeT3e; 
01173   delete [] vtimeZ3e;
01174   delete [] vtimeT4e; 
01175   delete [] vtimeZ4e;
01176   delete [] vtimeT5e; 
01177   delete [] vtimeZ5e;
01178   delete [] vtimeT6e; 
01179   delete [] vtimeZ6e;
01180 
01181   delete [] vtimeT1w; 
01182   delete [] vtimeZ1w; 
01183   delete [] vtimeT2w; 
01184   delete [] vtimeZ2w;
01185   delete [] vtimeT3w; 
01186   delete [] vtimeZ3w;
01187   delete [] vtimeT4w; 
01188   delete [] vtimeZ4w;
01189   delete [] vtimeT5w; 
01190   delete [] vtimeZ5w;
01191   delete [] vtimeT6w; 
01192   delete [] vtimeZ6w;
01193 
01194 
01195   /***********************
01196    * DRAWING SHIELD HITS *
01197    ***********************/
01198 
01199   TClonesArray* shieldlist = dynamic_cast<TClonesArray*>(evt->ShieldPlankList);
01200   if( shieldlist && 1+shieldlist->GetLast()>0 ){
01201     nbins = 1+shieldlist->GetLast();
01202   }
01203   else{
01204     nbins = 1;
01205   }
01206 
01207   if(SHLD1) delete SHLD1; SHLD1 = 0;
01208   if(SHLD2) delete SHLD2; SHLD2 = 0;
01209   if(SHLD3) delete SHLD3; SHLD3 = 0;
01210   if(SHLD4) delete SHLD4; SHLD4 = 0;
01211   if(SHLD5) delete SHLD5; SHLD5 = 0;
01212   if(SHLD6) delete SHLD6; SHLD6 = 0;
01213 
01214   Double_t* shldX1 = new Double_t[nbins];
01215   Double_t* shldY1 = new Double_t[nbins]; 
01216   Int_t Nshld1 = 0; 
01217 
01218   Double_t* shldX2 = new Double_t[nbins]; 
01219   Double_t* shldY2 = new Double_t[nbins]; 
01220   Int_t Nshld2 = 0;
01221 
01222   Double_t* shldX3 = new Double_t[nbins]; 
01223   Double_t* shldY3 = new Double_t[nbins]; 
01224   Int_t Nshld3 = 0;
01225 
01226   Double_t* shldX4 = new Double_t[nbins]; 
01227   Double_t* shldY4 = new Double_t[nbins]; 
01228   Int_t Nshld4 = 0;
01229 
01230   Double_t* shldX5 = new Double_t[nbins]; 
01231   Double_t* shldY5 = new Double_t[nbins]; 
01232   Int_t Nshld5 = 0;
01233 
01234   Double_t* shldX6 = new Double_t[nbins]; 
01235   Double_t* shldY6 = new Double_t[nbins]; 
01236   Int_t Nshld6 = 0;
01237       
01238   if( nbins>1 ){
01239 
01240     for(Int_t tmpint=0;tmpint<1+shieldlist->GetLast();tmpint++){
01241       AtmosShieldPlank* shield = dynamic_cast<AtmosShieldPlank*>(shieldlist->At(tmpint));
01242 
01243       mySection = shield->Section;
01244       myX = shield->X;
01245       myY = shield->Y; 
01246       myZe = shield->Z[0];
01247       myZw = shield->Z[1];
01248       myQe = shield->QPE[0];
01249       myQw = shield->QPE[1];
01250       myTe = 1.0e9*( shield->Tcal[0] ); myTeCorr=myTe;
01251       myTw = 1.0e9*( shield->Tcal[1] ); myTwCorr=myTw;
01252       if( myQe>0.0 ) myTeCorr = 1.0e9*shield->Tcal[0] 
01253                              - (1.77/3.0e8)*(shield->WlsPigtail[0])
01254                              - (1.77/3.0e8)*(shield->ClearFibre[0]);
01255       if( myQw>0.0 ) myTwCorr = 1.0e9*shield->Tcal[1] 
01256                              - (1.0/3.0e8)*(shield->WlsPigtail[1])
01257                              - (1.0/3.0e8)*(shield->ClearFibre[1]);
01258 
01259       if( ( myQe>0.0 && myTe>-200.0 )
01260        || ( myQw>0.0 && myTw>-200.0 ) ){
01261         if( myQe+myQw<3.0 && Nshld1<nbins ){
01262           shldX1[Nshld1] = myX; 
01263           shldY1[Nshld1] = myY;
01264           Nshld1++;
01265         }
01266         if( myQe+myQw>=3.0 && myQe+myQw<7.0 && Nshld2<nbins ){
01267           shldX2[Nshld2] = myX; 
01268           shldY2[Nshld2] = myY; 
01269           Nshld2++;
01270         }
01271         if( myQe+myQw>=7.0 && myQe+myQw<13.0 && Nshld3<nbins ){
01272           shldX3[Nshld3] = myX; 
01273           shldY3[Nshld3] = myY; 
01274           Nshld3++;
01275         }
01276         if( myQe+myQw>=13.0 &&myQe+myQw<30.0 && Nshld4<nbins ){
01277           shldX4[Nshld4] = myX; 
01278           shldY4[Nshld4] = myY; 
01279           Nshld4++;
01280         }
01281         if( myQe+myQw>=30.0 && Nshld5<nbins ){
01282           shldX5[Nshld5] = myX; 
01283           shldY5[Nshld5] = myY; 
01284           Nshld5++;
01285         }
01286       }
01287       else{
01288         if( Nshld6<nbins ){
01289           shldX6[Nshld6] = myX; 
01290           shldY6[Nshld6] = myY; 
01291           Nshld6++;
01292         }
01293       }
01294     }
01295 
01296     if(Nshld1>0){
01297       SHLD1 = new TPolyMarker(Nshld1,shldX1,shldY1);
01298       SHLD1->SetMarkerStyle(24); SHLD1->SetMarkerColor(5); SHLD1->SetMarkerSize(1.2);
01299     }
01300 
01301     if(Nshld2>0){
01302        SHLD2 = new TPolyMarker(Nshld2,shldX2,shldY2);
01303        SHLD2->SetMarkerStyle(24); SHLD2->SetMarkerColor(7); SHLD2->SetMarkerSize(1.2);
01304     }
01305 
01306     if(Nshld3>0){
01307       SHLD3 = new TPolyMarker(Nshld3,shldX3,shldY3);
01308       SHLD3->SetMarkerStyle(24); SHLD3->SetMarkerColor(3); SHLD3->SetMarkerSize(1.2);
01309     }
01310         
01311     if(Nshld4>0){
01312       SHLD4 = new TPolyMarker(Nshld4,shldX4,shldY4);
01313       SHLD4->SetMarkerStyle(24); SHLD4->SetMarkerColor(8); SHLD4->SetMarkerSize(1.2);
01314     }
01315 
01316     if(Nshld5>0){
01317       SHLD5 = new TPolyMarker(Nshld5,shldX5,shldY5);
01318       SHLD5->SetMarkerStyle(24); SHLD5->SetMarkerColor(2); SHLD5->SetMarkerSize(1.2);
01319     }
01320 
01321     if(Nshld6>0){
01322       SHLD6 = new TPolyMarker(Nshld6,shldX6,shldY6);
01323       SHLD6->SetMarkerStyle(24); SHLD6->SetMarkerColor(10); SHLD6->SetMarkerSize(1.2);
01324     }
01325 
01326   }
01327 
01328   delete [] shldX1; 
01329   delete [] shldY1; 
01330   delete [] shldX2; 
01331   delete [] shldY2;
01332   delete [] shldX3; 
01333   delete [] shldY3;
01334   delete [] shldX4;
01335   delete [] shldY4; 
01336   delete [] shldX5;
01337   delete [] shldY5; 
01338   delete [] shldX6;
01339   delete [] shldY6;
01340 
01341 
01342   /****************
01343    * DRAW DISPLAY *
01344    ****************/
01345 
01346   fUZpad->cd(); 
01347   fUviewDis1->GetXaxis()->SetLimits(ZplnMin,ZplnMax);
01348   fUviewDis1->GetYaxis()->SetLimits(UstrpMin,UstrpMax);
01349   fUviewDis1->Draw();
01350   if(uSTR1) uSTR1->Draw(); 
01351   if(uSTR2) uSTR2->Draw(); 
01352   if(uSTR3) uSTR3->Draw(); 
01353   if(uSHW) uSHW->Draw(); 
01354   if(uTRK) uTRK->Draw();
01355   if(uVTX) uVTX->Draw();
01356 
01357   fVZpad->cd(); 
01358   fVviewDis1->Draw();
01359   fVviewDis1->GetXaxis()->SetLimits(ZplnMin,ZplnMax);
01360   fVviewDis1->GetYaxis()->SetLimits(VstrpMin,VstrpMax);
01361   if(vSTR1) vSTR1->Draw(); 
01362   if(vSTR2) vSTR2->Draw(); 
01363   if(vSTR3) vSTR3->Draw();
01364   if(vSHW) vSHW->Draw(); 
01365   if(vTRK) vTRK->Draw(); 
01366   if(vVTX) vVTX->Draw();
01367   
01368   fTitlePad->cd();
01369   fTitlePad->Clear();
01370   TString run_string(" Run "); run_string+=fRun;
01371   TString snarl_string(" Snarl "); snarl_string+=fSnarl;
01372   TLatex title;
01373   title.SetTextSize(0.2);
01374   title.SetTextAlign(22);
01375   title.DrawLatex(0.5,0.66,run_string.Data());
01376   title.DrawLatex(0.5,0.33,snarl_string.Data());
01377 
01378   fXYpad->cd();
01379   fXYdisplay->Draw();
01380   fDetOutline->Draw();
01381   fDetOutlineC->Draw();
01382   if(SHLD1) SHLD1->Draw();
01383   if(SHLD2) SHLD2->Draw();
01384   if(SHLD3) SHLD3->Draw();
01385   if(SHLD4) SHLD4->Draw();
01386   if(SHLD5) SHLD5->Draw();
01387   if(SHLD6) SHLD6->Draw();
01388   if(strpXY1) strpXY1->Draw();
01389   if(strpXY2) strpXY2->Draw();
01390   if(strpXY3) strpXY3->Draw();
01391   if(strpXY4) strpXY4->Draw();
01392   if(strpXY5) strpXY5->Draw();
01393   if(vtxXY) vtxXY->Draw();
01394 
01395   fQpad->cd();
01396   TString temp_string("temp");
01397   temp_string+=fRun; temp_string+=fSnarl;
01398   hbins=(Int_t)(ZplnMax-ZplnMin);
01399   fQtemp = new TH1D(temp_string.Data(),temp_string.Data(),hbins,ZplnMin,ZplnMax);
01400   hbin0=(Int_t)(ZplnMin-0.5);
01401   for(Int_t hctr=1; hctr<=hbins; hctr++){
01402     if(hbin0+hctr>=0 && hbin0+hctr<=485){
01403       fQtemp->SetBinContent(hctr,fQbase->GetBinContent(hbin0+hctr));
01404     }
01405     else{
01406       fQtemp->SetBinContent(hctr,0.0);
01407     }
01408   }
01409   fQtemp->SetLineColor(9);
01410   fQtemp->SetLineWidth(3);
01411   fQtemp->SetTitle("Charge Profile: Q[PEs] vs Z[plane]");
01412   fQtemp->GetXaxis()->SetTitle(" Plane Number ");
01413   fQtemp->GetYaxis()->SetTitle(" Pulse Height / PEs");
01414   fQtemp->GetXaxis()->SetNdivisions(505);
01415   fQtemp->GetYaxis()->SetTitleOffset(1.2);
01416   fQtemp->GetXaxis()->CenterTitle();
01417   fQtemp->GetYaxis()->CenterTitle();
01418   fQtemp->Draw();
01419 
01420   fTpad->cd(); 
01421   fTimeDisplay->GetXaxis()->SetLimits(ZplnMin,ZplnMax);
01422   fTimeDisplay->GetYaxis()->SetLimits(Tmin,Tmax);
01423   fTimeDisplay->Draw();
01424       
01425   if(uTIME6e) uTIME6e->Draw();
01426   if(uTIME1e) uTIME1e->Draw();
01427   if(uTIME2e) uTIME2e->Draw();
01428   if(uTIME3e) uTIME3e->Draw();
01429   if(uTIME4e) uTIME4e->Draw();
01430   if(uTIME5e) uTIME5e->Draw();     
01431 
01432   if(uTIME6w) uTIME6w->Draw(); 
01433   if(uTIME1w) uTIME1w->Draw();
01434   if(uTIME2w) uTIME2w->Draw();
01435   if(uTIME3w) uTIME3w->Draw();
01436   if(uTIME4w) uTIME4w->Draw();
01437   if(uTIME5w) uTIME5w->Draw(); 
01438 
01439   if(vTIME6e) vTIME6e->Draw(); 
01440   if(vTIME1e) vTIME1e->Draw();
01441   if(vTIME2e) vTIME2e->Draw();
01442   if(vTIME3e) vTIME3e->Draw();
01443   if(vTIME4e) vTIME4e->Draw();
01444   if(vTIME5e) vTIME5e->Draw();
01445 
01446   if(vTIME6w) vTIME6w->Draw();
01447   if(vTIME1w) vTIME1w->Draw();
01448   if(vTIME2w) vTIME2w->Draw();
01449   if(vTIME3w) vTIME3w->Draw(); 
01450   if(vTIME4w) vTIME4w->Draw(); 
01451   if(vTIME5w) vTIME5w->Draw();     
01452 
01453   if(tVTX) tVTX->Draw();
01454 
01455   fCanvas->Update();
01456       
01457   return;
01458 }

void AtNuEventDisplayAB::PrintPicture (  )  [virtual]

Implements AtNuEventDisplay.

Definition at line 1460 of file AtNuEventDisplayAB.cxx.

References PrintPictureEPS(), and PrintPictureGIF().

01461 {
01462   // print both GIF and EPS
01463   this->PrintPictureGIF();
01464   this->PrintPictureEPS();
01465 }

void AtNuEventDisplayAB::PrintPictureEPS (  ) 

Definition at line 1467 of file AtNuEventDisplayAB.cxx.

References fCanvas, fRun, fSnarl, and outfile.

Referenced by PrintPicture().

01468 {
01469   if( fCanvas ){
01470     TString outfile("mydisplay");
01471     outfile.Append(".");
01472     outfile+=fRun;
01473     outfile.Append(".");
01474     outfile+=fSnarl;
01475     outfile.Append(".eps");
01476     fCanvas->SaveAs(outfile.Data());
01477   }
01478 }

void AtNuEventDisplayAB::PrintPictureGIF (  ) 

Definition at line 1480 of file AtNuEventDisplayAB.cxx.

References fCanvas, fRun, fSnarl, and outfile.

Referenced by PrintPicture().

01481 {
01482   if( fCanvas ){
01483     TString outfile("mydisplay");
01484     outfile.Append(".");
01485     outfile+=fRun;
01486     outfile.Append(".");
01487     outfile+=fSnarl;
01488     outfile.Append(".gif");
01489     fCanvas->SaveAs(outfile.Data());
01490   }
01491 }


Member Data Documentation

TCanvas* AtNuEventDisplayAB::fCanvas [private]
TPolyLine* AtNuEventDisplayAB::fDetOutline [private]

Definition at line 47 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPolyLine* AtNuEventDisplayAB::fDetOutlineC [private]

Definition at line 48 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TH1D* AtNuEventDisplayAB::fQbase [private]

Definition at line 44 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPad* AtNuEventDisplayAB::fQpad [private]

Definition at line 35 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TH1D* AtNuEventDisplayAB::fQtemp [private]

Definition at line 45 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

Int_t AtNuEventDisplayAB::fRun [private]

Definition at line 106 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), PrintPictureEPS(), and PrintPictureGIF().

Int_t AtNuEventDisplayAB::fSnarl [private]

Definition at line 107 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), PrintPictureEPS(), and PrintPictureGIF().

Definition at line 38 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

Definition at line 36 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPad* AtNuEventDisplayAB::fTpad [private]

Definition at line 34 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

Definition at line 39 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPad* AtNuEventDisplayAB::fUZpad [private]

Definition at line 31 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

Definition at line 40 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPad* AtNuEventDisplayAB::fVZpad [private]

Definition at line 32 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

Definition at line 42 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPad* AtNuEventDisplayAB::fXYpad [private]

Definition at line 33 of file AtNuEventDisplayAB.h.

Referenced by Initialize(), MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD1 [private]

Definition at line 64 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD2 [private]

Definition at line 65 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD3 [private]

Definition at line 66 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD4 [private]

Definition at line 67 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD5 [private]

Definition at line 68 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::SHLD6 [private]

Definition at line 69 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::strpXY1 [private]

Definition at line 71 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::strpXY2 [private]

Definition at line 72 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::strpXY3 [private]

Definition at line 73 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::strpXY4 [private]

Definition at line 74 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::strpXY5 [private]

Definition at line 75 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::tVTX [private]

Definition at line 104 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uSHW [private]

Definition at line 53 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uSTR1 [private]

Definition at line 50 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uSTR2 [private]

Definition at line 51 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uSTR3 [private]

Definition at line 52 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME1e [private]

Definition at line 78 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME1w [private]

Definition at line 84 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME2e [private]

Definition at line 79 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME2w [private]

Definition at line 85 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME3e [private]

Definition at line 80 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME3w [private]

Definition at line 86 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME4e [private]

Definition at line 81 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME4w [private]

Definition at line 87 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME5e [private]

Definition at line 82 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME5w [private]

Definition at line 88 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME6e [private]

Definition at line 83 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTIME6w [private]

Definition at line 89 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uTRK [private]

Definition at line 54 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::uVTX [private]

Definition at line 55 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vSHW [private]

Definition at line 60 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vSTR1 [private]

Definition at line 57 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vSTR2 [private]

Definition at line 58 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vSTR3 [private]

Definition at line 59 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME1e [private]

Definition at line 91 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME1w [private]

Definition at line 97 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME2e [private]

Definition at line 92 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME2w [private]

Definition at line 98 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME3e [private]

Definition at line 93 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME3w [private]

Definition at line 99 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME4e [private]

Definition at line 94 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME4w [private]

Definition at line 100 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME5e [private]

Definition at line 95 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME5w [private]

Definition at line 101 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME6e [private]

Definition at line 96 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTIME6w [private]

Definition at line 102 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vTRK [private]

Definition at line 61 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vtxXY [private]

Definition at line 76 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().

TPolyMarker* AtNuEventDisplayAB::vVTX [private]

Definition at line 62 of file AtNuEventDisplayAB.h.

Referenced by MakePicture(), and ~AtNuEventDisplayAB().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1