/*
$Log$
+Revision 1.7 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.5 2000/10/02 16:32:35 barbera
Forward declaration added
// Standard output format for this class.
////////////////////////////////////////////////////////////////////////
Int_t i,j;
- ios::fmtflags fmt;
+ Int_t fmt;
fmt = os->setf(ios::scientific); // set scientific floating point output
*os << fDetectorIndex << " ";
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.8 2000/10/02 16:32:35 barbera
Forward declaration added
Int_t nAR,Float_t *leR){
////////////////////////////////////////////////////////////////////////
// Standard constructor
+////////////////////////////////////////////////////////////////////////
+ fPeriod = 0.0;
+ fDvelocity = 0.0;
+ fNAnodesL = 0;
+ fNAnodesR = 0;
+ fAnodeXL = 0.0;
+ fAnodeXR = 0.0;
+ fAnodeLowEdgeL = 0;
+ fAnodeLowEdgeR = 0;
+ fShapeSDD = 0;
+ ResetSDD(box,per,vel,axL,axR,nAL,leL,nAR,leR);
+}
+//________________________________________________________________________
+void AliITSgeomSDD::ResetSDD(const Float_t *box,Float_t per,Float_t vel,
+ Float_t axL,Float_t axR,
+ Int_t nAL,Float_t *leL,
+ Int_t nAR,Float_t *leR){
+////////////////////////////////////////////////////////////////////////
+// Standard Filler
////////////////////////////////////////////////////////////////////////
Int_t i;
fNAnodesR = nAR;
fAnodeXL = axL;
fAnodeXR = axR;
- if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
+// if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
fAnodeLowEdgeL = new Float_t[fNAnodesL];
- if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
+// if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
fAnodeLowEdgeR = new Float_t[fNAnodesR];
for(i=0;i<fNAnodesL;i++) fAnodeLowEdgeL[i] = leL[i];
for(i=0;i<fNAnodesR;i++) fAnodeLowEdgeR[i] = leR[i];
return;
}
//______________________________________________________________________
-void AliITSgeomSDD::Print(ostream *os){
+void AliITSgeomSDD::Print(ostream *os) const {
////////////////////////////////////////////////////////////////////////
// Standard output format for this class.
////////////////////////////////////////////////////////////////////////
Int_t i;
- ios::fmtflags fmt;
+ Int_t fmt;
fmt = os->setf(ios::scientific); // set scientific floating point output
*os << "TBRIK" << " ";
//======================================================================
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
//#include <iostream.h>
//#include <TBRIK.h>
ClassImp(AliITSgeomSDD256)
-AliITSgeomSDD256::AliITSgeomSDD256(){
+AliITSgeomSDD256::AliITSgeomSDD256() : AliITSgeomSDD(){
////////////////////////////////////////////////////////////////////////
// default constructor
/*
#R (37779, 35085), pad size (184, 140)
*/
////////////////////////////////////////////////////////////////////////
- const Float_t kDxyz[] = {3.6250,0.0150,4.3794};//cm. (Geant 3.12 units)
+ const Float_t kDxyz[] = {3.6250,0.01499,4.3794};//cm. (Geant 3.12 units)
// Size of sensitive region of detector
const Float_t kPeriod = 25.0E-09; // 40 MHz sampling frequence
const Float_t kVelocity = 5.46875E+03; // cm/s drift velocity
// cout << "AliITSgeomSDD256 default creator called: start" << end;
AnodeLowEdges[0] = kAnodesZ;
for(i=0;i<kNAnodes;i++) AnodeLowEdges[i+1] = kAnodePitch+AnodeLowEdges[i];
- AliITSgeomSDD::AliITSgeomSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
- kNAnodes+1,AnodeLowEdges,
- kNAnodes+1,AnodeLowEdges);
+ AliITSgeomSDD::ResetSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
+ kNAnodes+1,AnodeLowEdges,
+ kNAnodes+1,AnodeLowEdges);
// cout << "AliITSgeomSDD256 default creator called: end" << endl;
}
//________________________________________________________________________
//======================================================================
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
//#include <iostream.h>
//#include <TBRIK.h>
// cout << "AliITSgeomSDD300 default creator called: start" << endl;
AnodeLowEdges[0] = kAnodesZ;
for(i=0;i<kNAnodes;i++) AnodeLowEdges[i+1] = kanode+AnodeLowEdges[i];
- AliITSgeomSDD::AliITSgeomSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
- kNAnodes+1,AnodeLowEdges,
- kNAnodes+1,AnodeLowEdges);
+ AliITSgeomSDD::ResetSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
+ kNAnodes+1,AnodeLowEdges,
+ kNAnodes+1,AnodeLowEdges);
// cout << "AliITSgeomSDD300 default creator called: end" << endl;
}
//________________________________________________________________________
AliITSgeomSDD(AliITSgeomSDD &source);
AliITSgeomSDD& operator=(AliITSgeomSDD &source);
virtual ~AliITSgeomSDD();
+ void ResetSDD(const Float_t *box,Float_t per,Float_t vel,
+ Float_t axL,Float_t axR,
+ Int_t nA0,Float_t *le0,Int_t nA1,Float_t *le1);
virtual TShape *GetShape() const {return fShapeSDD;}
- virtual Float_t GetDx() { // Get TBRIK Dx
+ virtual Float_t GetDx() const { // Get TBRIK Dx
if(fShapeSDD!=0) return fShapeSDD->GetDx();
else return 0.0;}
- virtual Float_t GetDy() {// Get TBRIK Dy
+ virtual Float_t GetDy() const {// Get TBRIK Dy
if(fShapeSDD!=0) return fShapeSDD->GetDy();
else return 0.0;}
- virtual Float_t GetDz() {// Get TBRIK Dz
+ virtual Float_t GetDz() const {// Get TBRIK Dz
if(fShapeSDD!=0) return fShapeSDD->GetDz();
else return 0.0;}
- virtual Float_t GetAnodeX(Int_t a,Int_t s){ // returns X position of anode
+ virtual Float_t GetAnodeX(Int_t a,Int_t s) const { // returns X position of anode
if(s==0) return fAnodeXL; else return fAnodeXR;}
- virtual Float_t GetAnodeZ(Int_t a,Int_t s){ // returns X position of anode
+ virtual Float_t GetAnodeZ(Int_t a,Int_t s)const { // returns X position of anode
if(s==0) return 0.5*(fAnodeLowEdgeL[a]+fAnodeLowEdgeL[a+1]);
else return 0.5*(fAnodeLowEdgeR[a]+fAnodeLowEdgeR[a+1]);}
virtual void SetNAnodesL(Int_t s)
{fShapeSDD = new TBRIK(name,title,mat,dx,dy,dz);}
virtual void Local2Det(Float_t xl,Float_t zl,Int_t &a,Int_t &t,Int_t &s);
virtual void Det2Local(Int_t a,Int_t t,Int_t s,Float_t &xl,Float_t &zl);
- virtual void Print(ostream *os); // Output streamer to standard out.
+ virtual void Print(ostream *os) const; // Output streamer to standard out.
virtual void Read(istream *is); // Input streamer to standard in.
// or what other or different information that is needed.
/*
$Log$
+Revision 1.8 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
#include <iostream.h>
#include <iomanip.h>
#include <TShape.h>
+#include <TMath.h>
#include "AliITSgeomSPD.h"
return;
}
//______________________________________________________________________
-void AliITSgeomSPD::Print(ostream *os){
+void AliITSgeomSPD::Print(ostream *os) const {
// Standard output format for this class
Int_t i;
- ios::fmtflags fmt;
+ Int_t fmt;
fmt = os->setf(ios::scientific); // set scientific floating point output
*os << "TBRIK" << " ";
*os << setprecision(16) << GetDz() << " ";
*os << fNbinx-1 << " " << fNbinz-1 << " ";
for(i=0;i<fNbinx;i++) *os << setprecision(16) << fLowBinEdgeX[i] << " ";
- for(i=0;i<fNbinx;i++) *os << setprecision(16) << fLowBinEdgeZ[i] << " ";
+ for(i=0;i<fNbinz;i++) *os << setprecision(16) << fLowBinEdgeZ[i] << " ";
*os << endl;
os->flags(fmt);
return;
/*
$Log$
+Revision 1.8 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.7 2000/10/02 16:32:35 barbera
Forward declaration added
for(i=1;i<knbinz;i++) SetLowBinEdgeZ(i+1,GetBinLowEdgeZ(i)+kbinz0);
SetLowBinEdgeZ(knbinz,GetBinLowEdgeZ(knbinz-1)+kbinz1);
- if(dx!=kdx || dz!=kdz) Warning("::Default Creator",
- "Detector size may not be write.");
+ if(TMath::Abs(dx-kdx)>1.0E-4 || TMath::Abs(dz-kdz)>1.0E-4)
+ Warning("Default Creator","Detector size may not be write.");
SetShape("ActiveSPD","Active volume of SPD","SPD SI DET",dx,kdy,dz);
// cout << "AliITSgeomSPD300 default creator called: end" << endl;
}
//=====================================================================
/*
$Log$
+Revision 1.8 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.7 2000/10/02 16:32:35 barbera
Forward declaration added
// micron pixels (large detector).
////////////////////////////////////////////////////////////////////////
- const Float_t kdx=0.6400,kdy=0.0075,kdz=4.2650; // cm; Standard pixel
+ const Float_t kdx=0.6400,kdy=0.015,kdz=3.480; // cm; Standard pixel
// detector size is 2dx
// wide, 2dz long, and
// 2dy thick. Geant 3.12
const Int_t knbinx = 256; // number of pixels along x direction.
const Float_t kbinz0 = 0.0425; // cm; Standard pixel size in z direction.
const Float_t kbinz1 = 0.0625; // cm; Special pixel size in z direction.
- const Int_t knbinz = 163; // number of pixels along z direction.
+ const Int_t knbinz = 160; // number of pixels along z direction.
Int_t i;
Float_t dx,dz,*binSizeX,*binSizeZ;
binSizeZ[ 31] = kbinz1;
binSizeZ[ 32] = kbinz1;
+ binSizeZ[ 63] = kbinz1;
binSizeZ[ 64] = kbinz1;
- binSizeZ[ 65] = kbinz1;
- binSizeZ[ 97] = kbinz1;
- binSizeZ[ 98] = kbinz1;
+ binSizeZ[ 95] = kbinz1;
+ binSizeZ[ 96] = kbinz1;
- binSizeZ[130] = kbinz1;
- binSizeZ[131] = kbinz1;
+ binSizeZ[127] = kbinz1;
+ binSizeZ[128] = kbinz1;
// correct detector size for bin size.
dx = 0.0;
dz *= 0.5;
SetShape("ActiveSPD","Active volume of SPD","SPD SI DET",dx,kdy,dz);
- if(dx!=kdx || dz!=kdz) Warning("AliITSgeomSPD425Short::Default Creator",
- "Detector size may not be write.");
+ if(TMath::Abs(dx-kdx)>1.0E-4 || TMath::Abs(dz-kdz)>1.0E-4)
+ Warning("Default Creator","Detector size may not be write.");
InitLowBinEdgeX(); // array of bin sizes along x.
InitLowBinEdgeZ(); // array of bin sizes along x.
/*
$Log$
+Revision 1.8 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.7 2000/10/02 16:32:35 barbera
Forward declaration added
dz *= 0.5;
SetShape("ActiveSPD","Active volume of SPD","SPD SI DET",dx,kdy,dz);
- if(dx!=kdx || dz!=kdz) Warning("AliITSgeomSPD425Long::Default Creator",
- "Detector size may not be write.");
+ if(TMath::Abs(dx-kdx)>1.0E-4 || TMath::Abs(dz-kdz)>1.0E-4)
+ Warning("Default Creator","Detector size may not be write.");
InitLowBinEdgeX(); // array of bin sizes along x.
InitLowBinEdgeZ(); // array of bin sizes along x.
virtual void ReSetBins(Float_t dy,Int_t nx,Float_t *bx,
Int_t nz,Float_t *bz);
virtual TShape *GetShape() const {return fShapeSPD;}
- virtual Float_t GetDx() { // Get TBRIK Dx
+ virtual Float_t GetDx() const { // Get TBRIK Dx
if(fShapeSPD!=0) return fShapeSPD->GetDx();
else return 0.0;}
- virtual Float_t GetDy() {// Get TBRIK Dy
+ virtual Float_t GetDy() const {// Get TBRIK Dy
if(fShapeSPD!=0) return fShapeSPD->GetDy();
else return 0.0;}
- virtual Float_t GetDz() {// Get TBRIK Dz
+ virtual Float_t GetDz() const {// Get TBRIK Dz
if(fShapeSPD!=0) return fShapeSPD->GetDz();
else return 0.0;}
- virtual Int_t GetNbinxX(){return fNbinx-1;} // returns the number of bins x
- virtual Int_t GetNbinxZ(){return fNbinz-1;} // returns the number of bins z
- virtual Float_t GetBinSizeX(Int_t i)
+ virtual Int_t GetNbinxX() const {return fNbinx-1;} // returns the number of bins x
+ virtual Int_t GetNbinxZ() const {return fNbinz-1;} // returns the number of bins z
+ virtual Float_t GetBinSizeX(Int_t i) const
{if(i<fNbinx-1&&i>=0) return fLowBinEdgeX[i+1]-fLowBinEdgeX[i];
else return 0.0;}; // give size of bin i in x.
- virtual Float_t GetBinSizeZ(Int_t i)
+ virtual Float_t GetBinSizeZ(Int_t i) const
{if(i<fNbinx-1&&i>=0) return fLowBinEdgeZ[i+1]-fLowBinEdgeZ[i];
else return 0.0;}; // give size of bin i in z.
- virtual Float_t GetBinLowEdgeX(Int_t i)
+ virtual Float_t GetBinLowEdgeX(Int_t i) const
{if(i<fNbinx-1&&i>=0) return fLowBinEdgeX[i];
else return 0.0;}; // give size of bin i in x.
- virtual Float_t GetBinLowEdgeZ(Int_t i)
+ virtual Float_t GetBinLowEdgeZ(Int_t i) const
{if(i<fNbinz-1&&i>=0) return fLowBinEdgeZ[i];
else return 0.0;}; // give size of bin i in z.
virtual void InitLowBinEdgeX(){// allocate memory for fLowBinEdgeX.
if(i>=0&&i<fNbinz) fLowBinEdgeZ[i] = s;};
virtual void LToDet(Float_t xl,Float_t zl,Int_t &row,Int_t &col);
virtual void DetToL(Int_t row,Int_t col,Float_t &xl,Float_t &zl);
- virtual void Print(ostream *os); // output streamer to standard out.
+ virtual void Print(ostream *os) const; // output streamer to standard out.
virtual void Read(istream *is); // input streamer from standard in.
protected:
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
Revision 1.8 2000/10/02 16:32:43 barbera
Forward declaration added
#include "AliITSgeomSSD.h"
ClassImp(AliITSgeomSSD)
+
+
+AliITSgeomSSD::AliITSgeomSSD(){
+// Default constructor
+ fShapeSSD = 0;
+ fNp = 0;
+ fNn = 0;
+ fLowEdgeP = 0;
+ fLowEdgeN = 0;
+ fAngleP = 0.0;
+ fAngleN = 0.0;
+}
+//----------------------------------------------------------------------
AliITSgeomSSD::AliITSgeomSSD(const Float_t *box,Float_t ap,Float_t an,
Int_t np,Float_t *p,Int_t nn,Float_t *n){
////////////////////////////////////////////////////////////////////////
// Standard Constructor. *box={dx,dy,dz}, ap=anode angle, an=cathode angle,
// nn= number of cathodes+1,*n= array of cathode low edges+highest edge,
// np= number of anodes+1, *p= array of anode low edges+lighest edge.
+///////////////////////////////////////////////////////////////////////
+ fShapeSSD = 0;
+ fNp = 0;
+ fNn = 0;
+ fLowEdgeP = 0;
+ fLowEdgeN = 0;
+ fAngleP = 0.0;
+ fAngleN = 0.0;
+ ResetSSD(box,ap,an,np,p,nn,n);
+}
+//----------------------------------------------------------------------
+void AliITSgeomSSD::ResetSSD(const Float_t *box,Float_t ap,Float_t an,
+ Int_t np,Float_t *p,Int_t nn,Float_t *n){
+////////////////////////////////////////////////////////////////////////
+// Standard Filler. *box={dx,dy,dz}, ap=anode angle, an=cathode angle,
+// nn= number of cathodes+1,*n= array of cathode low edges+highest edge,
+// np= number of anodes+1, *p= array of anode low edges+lighest edge.
///////////////////////////////////////////////////////////////////////
Int_t i;
fShapeSSD = new TBRIK("ActiveSSD","Active volume of SSD","SSD SI DET",
box[0],box[1],box[2]);
- if(fLowEdgeP!=0) delete fLowEdgeP;
- if(fLowEdgeN!=0) delete fLowEdgeN;
+// if(fLowEdgeP!=0) delete fLowEdgeP;
+// if(fLowEdgeN!=0) delete fLowEdgeN;
fNp = np;
fNn = nn;
fAngleP = ap;
return;
}
//______________________________________________________________________
-void AliITSgeomSSD::Print(ostream *os){
+void AliITSgeomSSD::Print(ostream *os) const {
////////////////////////////////////////////////////////////////////////
// Standard output format for this class.
////////////////////////////////////////////////////////////////////////
- ios::fmtflags fmt;
+ Int_t fmt;
Int_t i;
fmt = os->setf(ios::scientific); // set scientific floating point output
if(fLowEdgeN !=0) delete fLowEdgeN;
fLowEdgeP = new Float_t[fNp];
fLowEdgeN = new Float_t[fNn];
- for(i=0;0<fNp;i++) *is >> fLowEdgeP[i];
+ for(i=0;i<fNp;i++) *is >> fLowEdgeP[i];
for(i=0;i<fNn;i++) *is >> fLowEdgeN[i];
return;
}
//======================================================================
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
//#include "AliITSgeomSSD175.h"
leA[kNstrips] = kDxyz[0];
leC[kNstrips] = -kDxyz[0];
// cout << "AliITSgeomSSD175 default creator called: start" << endl;
- AliITSgeomSSD::AliITSgeomSSD(kDxyz,kangle,-kangle,
+ AliITSgeomSSD::ResetSSD(kDxyz,kangle,-kangle,
kNstrips+1,leA,kNstrips+1,leC);
delete leA;
delete leC;
//======================================================================
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
//#include "AliITSgeomSSD275and75.h"
leA[kNstrips] = kDxyz[0];
leC[kNstrips] = -kDxyz[0];
// cout << "AliITSgeomSSD275and75 default creator called: start" << endl;
- AliITSgeomSSD::AliITSgeomSSD(kDxyz,kangleA,kangleC,
+ AliITSgeomSSD::ResetSSD(kDxyz,kangleA,kangleC,
kNstrips+1,leA,kNstrips+1,leC);
delete leA;
delete leC;
//======================================================================
/*
$Log$
+Revision 1.9 2001/02/03 00:00:30 nilsen
+New version of AliITSgeom and related files. Now uses automatic streamers,
+set up for new formatted .det file which includes detector information.
+Additional smaller modifications are still to come.
+
*/
//#include "AliITSgeomSSD75and275.h"
leA[kNstrips] = kDxyz[0];
leC[kNstrips] = -kDxyz[0];
// cout << "AliITSgeomSSD275and75 default creator called: start" << endl;
- AliITSgeomSSD::AliITSgeomSSD(kDxyz,kangleA,kangleC,
+ AliITSgeomSSD::ResetSSD(kDxyz,kangleA,kangleC,
kNstrips+1,leA,kNstrips+1,leC);
delete leA;
delete leC;
class AliITSgeomSSD : public TObject {
public:
- AliITSgeomSSD(){;}; // default constructor
+ AliITSgeomSSD(); // default constructor
AliITSgeomSSD(const Float_t *box,Float_t ap,Float_t an,
Int_t np,Float_t *p,Int_t nn,Float_t *n); // Constructor
virtual ~AliITSgeomSSD(); // Destructor
AliITSgeomSSD(const AliITSgeomSSD &source);// copy constructor
virtual AliITSgeomSSD& operator=(const AliITSgeomSSD &source); // = opt.
+ void ResetSSD(const Float_t *box,Float_t ap,Float_t an,
+ Int_t np,Float_t *p,Int_t nn,Float_t *n); // Filler
virtual TShape *GetShape() const {return fShapeSSD;}// get shape
- virtual Float_t GetDx(){if(fShapeSSD!=0) return fShapeSSD->GetDx();
+ virtual Float_t GetDx() const {if(fShapeSSD!=0) return fShapeSSD->GetDx();
else return 0.0;}// get Dx
- virtual Float_t GetDy(){if(fShapeSSD!=0) return fShapeSSD->GetDy();
+ virtual Float_t GetDy() const {if(fShapeSSD!=0) return fShapeSSD->GetDy();
else return 0.0;}// get Dy
- virtual Float_t GetDz(){if(fShapeSSD!=0) return fShapeSSD->GetDz();
+ virtual Float_t GetDz() const {if(fShapeSSD!=0) return fShapeSSD->GetDz();
else return 0.0;}// get Dz
- virtual Int_t GetNAnodes() {return fNp-1;}//the number of Anodes "P"
- virtual Int_t GetNCathodess() {return fNn-1;}//the number of Cathodes "N"
- virtual Float_t GetAnodePitch(Int_t i=0){ //anode pitch for anode i
+ virtual Int_t GetNAnodes() const {return fNp-1;}//the number of Anodes "P"
+ virtual Int_t GetNCathodess() const {return fNn-1;}//the number of Cathodes "N"
+ virtual Float_t GetAnodePitch(Int_t i=0) const { //anode pitch for anode i
if(i>=0&&i<fNp) return fLowEdgeP[i+1]-fLowEdgeP[i];else return 0.0;}
- virtual Float_t GetCathodePitch(Int_t i=0){ // cathode pitch for cathode i
+ virtual Float_t GetCathodePitch(Int_t i=0) const { // cathode pitch for cathode i
if(i>0&&i<fNn) return fLowEdgeN[1]-fLowEdgeN[0];else return 0.0;}
- virtual Float_t GetAnodeAngle(){return fAngleP;}//anode strip angle.
- virtual Float_t GetCathodeAngle(){return fAngleN;}//cathode strip angle.
+ virtual Float_t GetAnodeAngle() const {return fAngleP;}//anode strip angle.
+ virtual Float_t GetCathodeAngle() const {return fAngleN;}//cathode strip angle.
virtual void SetShape(char *name,char *title,char *mat,
Float_t dx,Float_t dy,Float_t dz){
// defines TBRIK with given paramters
virtual void Local2Det(Float_t x,Float_t z,Int_t &a,Int_t &c);
virtual void Det2Local(Int_t a,Int_t c,Float_t &x,Float_t &z);
- virtual void Print(ostream *os); // Output streamer to standard out.
+ virtual void Print(ostream *os) const; // Output streamer to standard out.
virtual void Read(istream *is); // Input streamer to standard in.
protected: