#include "AliLog.h"
#include "AliITSgeom.h"
-/* $Id:$ */
+/* $Id$ */
//----------------------------------------------
// -
//SDD: Drift distance of the 1/2detector (x axis)-microns
//SSD: Full length of the detector (x axis)- microns
Float_t fDz; //SPD: Full length of the detector (z axis)- microns
- //SDD: Length of half-detector (z axis) - microns
+ //SDD: Full Length of the detector (z axis) - microns
//SSD: Full width of the detector (z axis)- microns
Float_t fDy; //SPD: Full thickness of the detector (y axis) -um
//SDD: Full thickness of the detector (y axis) - microns
**************************************************************************/
#include <Riostream.h>
#include <TMath.h>
-
+#include <TGeoManager.h>
+#include <TGeoVolume.h>
+#include <TGeoBBox.h>
#include "AliITSsegmentationSDD.h"
#include "AliITSgeomSDD.h"
#include "AliITSresponseSDD.h"
// Z //
/////////////////////////////////////////////////////////////////////////////
-/* $Id:$ */
+/* $Id$ */
const Float_t AliITSsegmentationSDD::fgkDxDefault = 35085.;
const Float_t AliITSsegmentationSDD::fgkDzDefault = 75264.;
InitFromGeom(geom);
}
//______________________________________________________________________
-AliITSsegmentationSDD::AliITSsegmentationSDD() : AliITSsegmentation(),
+AliITSsegmentationSDD::AliITSsegmentationSDD(Option_t *opt) : AliITSsegmentation(),
fNsamples(0),
fNanodes(0),
fPitch(0),
fSetDriftSpeed(0){
// Default constructor
Init();
+ if(strstr(opt,"TGeo")){
+ if(!gGeoManager){
+ AliError("Geometry is not initialized\n");
+ return;
+ }
+ TGeoVolume *v=NULL;
+ v = gGeoManager->GetVolume("ITSsddSensitivL3");
+ if(!v){
+ AliWarning("TGeo volume ITSsddSensitivL3 not found (hint: use v11Hybrid geometry)\n Using hardwired default values");
+ }
+ else {
+ TGeoBBox *s=(TGeoBBox*)v->GetShape();
+ SetDetSize(s->GetDX()*10000.,s->GetDZ()*20000.,s->GetDY()*20000.);
+ }
+ }
}
//______________________________________________________________________
public:
- AliITSsegmentationSDD();
+ AliITSsegmentationSDD(Option_t *opt="");
AliITSsegmentationSDD(const AliITSsegmentationSDD &source);
AliITSsegmentationSDD& operator=(const AliITSsegmentationSDD &source);
AliITSsegmentationSDD(AliITSgeom *gm);
* provided "as is" without express or implied warranty. *
**************************************************************************/
+#include <TGeoManager.h>
+#include <TGeoVolume.h>
+#include <TGeoBBox.h>
#include "AliITSsegmentationSPD.h"
//#include "AliITSgeom.h"
//////////////////////////////////////////////////////
ClassImp(AliITSsegmentationSPD)
//_____________________________________________________________________________
- AliITSsegmentationSPD::AliITSsegmentationSPD(): AliITSsegmentation(),
+ AliITSsegmentationSPD::AliITSsegmentationSPD(Option_t *opt): AliITSsegmentation(),
fNpx(0),
fNpz(0){
// Default constructor
fCellSizeX[k] = 0.;
fCellSizeZ[k] = 0.;
}
+
+ if(strstr(opt,"TGeo")){
+ if(!gGeoManager){
+ AliError("Geometry is not initialized\n");
+ return;
+ }
+ TGeoVolume *v=NULL;
+ v = gGeoManager->GetVolume("ITSSPDlay1-sensor");
+ if(!v){
+ AliWarning("TGeo volume ITSSPDlay1-sensor not found (hint: use v11Hybrid geometry)\n Using hardwired default values");
+ SetDetSize(12800,69600,200);
+ }
+ else {
+ TGeoBBox *s=(TGeoBBox*)v->GetShape();
+ SetDetSize(s->GetDX()*20000.,s->GetDZ()*20000.,s->GetDY()*20000.);
+ }
+ Float_t bx[256],bz[280];
+ Int_t i;
+ SetNPads(256,160); // Number of Bins in x and z
+ for(i=000;i<256;i++) bx[i] = 50.0; // in x all are 50 microns.
+ for(i=000;i<160;i++) bz[i] = 425.0; // most are 425 microns except below
+ for(i=160;i<280;i++) bz[i] = 0.0; // Outside of detector.
+ bz[ 31] = bz[ 32] = 625.0; // first chip boundry
+ bz[ 63] = bz[ 64] = 625.0; // first chip boundry
+ bz[ 95] = bz[ 96] = 625.0; // first chip boundry
+ bz[127] = bz[128] = 625.0; // first chip boundry
+ bz[160] = 425.0; // Set so that there is no zero pixel size for fNz.
+ SetBinSize(bx,bz); // Based on AliITSgeomSPD for now.
+ }
}
//_____________________________________________________________________________
public AliITSsegmentation {
public:
- AliITSsegmentationSPD();
+ AliITSsegmentationSPD(Option_t *opt="" );
AliITSsegmentationSPD(AliITSgeom *gm);
AliITSsegmentationSPD(const AliITSsegmentationSPD &source);
virtual ~AliITSsegmentationSPD(){}
#include <Riostream.h>
#include <TMath.h>
+#include <TGeoManager.h>
+#include <TGeoVolume.h>
+#include <TGeoBBox.h>
#include "AliITSsegmentationSSD.h"
//////////////////////////////////////////////////////
const Int_t AliITSsegmentationSSD::fgkNstripsDefault = 768;
ClassImp(AliITSsegmentationSSD)
-AliITSsegmentationSSD::AliITSsegmentationSSD(): AliITSsegmentation(),
+AliITSsegmentationSSD::AliITSsegmentationSSD(Option_t *opt): AliITSsegmentation(),
fNstrips(0),
fStereoP(0),
fStereoN(0),
fStereoNl6(0),
fLayer(0){
// default constructor
+ SetDetSize(fgkDxDefault,fgkDzDefault,fgkDyDefault);
+ SetPadSize(fgkPitchDefault,0.);
+ SetNPads(fgkNstripsDefault,0);
+ SetAngles();
+ if(strstr(opt,"TGeo")){
+ if(!gGeoManager){
+ AliError("Geometry is not initialized\n");
+ return;
+ }
+ TGeoVolume *v=NULL;
+ v = gGeoManager->GetVolume("ITSssdSensitivL5");
+ if(!v){
+ AliWarning("TGeo volumeITSssdSensitivL5 not found (hint: use v11Hybrid geometry)\n Using hardwired default values");
+ }
+ else {
+ TGeoBBox *s=(TGeoBBox*)v->GetShape();
+ SetDetSize(s->GetDX()*20000.,s->GetDZ()*20000.,s->GetDY()*20000.);
+ }
+ }
}
//----------------------------------------------------------------------
AliITSsegmentationSSD::AliITSsegmentationSSD(AliITSgeom *geom):
fStereoNl6(0),
fLayer(0){
// constuctor
- fCorr = 0;
SetDetSize(fgkDxDefault,fgkDzDefault,fgkDyDefault);
SetPadSize(fgkPitchDefault,0.);
SetNPads(fgkNstripsDefault,0);
SetAngles();
- fLayer = 0;
}
//______________________________________________________________________
void AliITSsegmentationSSD::Copy(TObject &obj) const {
public AliITSsegmentation {
public:
- AliITSsegmentationSSD();
+ AliITSsegmentationSSD(Option_t *opt="");
AliITSsegmentationSSD(AliITSgeom *gm);
AliITSsegmentationSSD(const AliITSsegmentationSSD &source);
virtual ~AliITSsegmentationSSD(){}