virtual void CreateGeometry() {};
virtual void CreateMaterials();
- inline virtual TObjArray* GetModules() {return fITSmodules;}
- inline virtual TObjArray* GetPoints(){return fITSpoints;}
+ virtual TObjArray* GetModules() const {return fITSmodules;}
+ virtual TObjArray* GetPoints() const {return fITSpoints;}
- inline void GetGeometryVersion(Int_t &a,Int_t &b)
+ void GetGeometryVersion(Int_t &a,Int_t &b) const
{a = fMajorVersion;b=fMinorVersion;return;}
virtual Int_t IsVersion() const {return 1;}
Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void StepManager()=0;
//
// ITS geometry functions
- inline virtual AliITSgeom *GetITSgeom(){return fITSgeom;}
- inline virtual TObjArray *GetITSpoints(){return fITSpoints;}
+ virtual AliITSgeom *GetITSgeom() const {return fITSgeom;}
+ virtual TObjArray *GetITSpoints() const {return fITSpoints;}
ClassDef(AliITS,1)
};
AliITSdigitSSD(Int_t *tracks, Int_t *digits, Int_t strNo, Int_t s, Bool_t p);
// Methods for accesing signal on strip
- inline void SetSignal(Int_t s) {fSignal = s;}
- inline Int_t GetSignal() {return fSignal;}
+ void SetSignal(Int_t s) {fSignal = s;}
+ Int_t GetSignal() const {return fSignal;}
// Methods for accesing strip number
- inline Int_t GetStripNumber() {return fStripNumber;};
- inline void SetStripNumber(Int_t s) {fStripNumber = s;};
+ Int_t GetStripNumber() const {return fStripNumber;};
+ void SetStripNumber(Int_t s) {fStripNumber = s;};
// Methods for accesing side of the strip P/N
- inline Bool_t IsSideP() {return fSide;}; //returns true when side P
- inline void SetSideP(Bool_t b) {fSide = b;}; //set side of digit
+ Bool_t IsSideP() const {return fSide;}; //returns true when side P
+ void SetSideP(Bool_t b) {fSide = b;}; //set side of digit
ClassDef(AliITSdigitSSD, 1)
};
void operator=(AliITSgeom &source);// = operator
virtual ~AliITSgeom(); // Default destructor
// this is a dummy routine for now.
- inline Int_t GetNdetectors(Int_t layer) {return fNdet[layer-1];}
- inline Int_t GetNladders(Int_t layer) {return fNlad[layer-1];}
- inline Int_t GetNlayers() {return fNlayers;}
- inline void GetAngles(Int_t lay,Int_t lad,Int_t det,
- Float_t &rx,Float_t &ry,Float_t &rz){
+ Int_t GetNdetectors(Int_t layer) const {return fNdet[layer-1];}
+ Int_t GetNladders(Int_t layer) const {return fNlad[layer-1];}
+ Int_t GetNlayers() const {return fNlayers;}
+ void GetAngles(Int_t lay,Int_t lad,Int_t det,
+ Float_t &rx,Float_t &ry,Float_t &rz)const {
rx = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].frx;
ry = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fry;
rz = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].frz;}
- inline void GetTrans(Int_t lay,Int_t lad,Int_t det,
- Float_t &x,Float_t &y,Float_t &z){
+ void GetTrans(Int_t lay,Int_t lad,Int_t det,
+ Float_t &x,Float_t &y,Float_t &z)const {
x = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fx0;
y = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fy0;
z = fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fz0;}
void SetByAngles(Int_t lay,Int_t lad,Int_t det,
Float_t rx,Float_t ry,Float_t rz);
- inline void SetTrans(Int_t lay,Int_t lad,Int_t det,
+ void SetTrans(Int_t lay,Int_t lad,Int_t det,
Float_t x,Float_t y,Float_t z){
fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fx0 = x;
fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fy0 = y;
void LtoG(const Int_t index,const Float_t *l,Float_t *g);
void LtoGMomentum(Int_t lay,Int_t lad,Int_t det,const Float_t *l,Float_t *g);
Int_t GetModuleIndex(Int_t lay,Int_t lad,Int_t det);
- void GetModuleId(Int_t index,Int_t &lay,Int_t &lad,Int_t &det);
+ void GetModuleId(Int_t index,Int_t &lay,Int_t &lad,Int_t &det);
void GlobalChange(Float_t *tran,Float_t *rot);
void GlobalCylindericalChange(Float_t *tran,Float_t *rot);
void RandomChange(Float_t *stran,Float_t *srot);
ofstream &PrintGeom(ofstream &out);
ifstream &ReadGeom(ifstream &in);
virtual Int_t IsVersion() const {return 0;}
- inline void AddShape(TObject *shp){fShape->AddLast(shp);}
+ void AddShape(TObject *shp){fShape->AddLast(shp);}
+ virtual TObject *GetShape(Int_t lay,Int_t lad,Int_t det)
+ const {return fShape->At(fg[lay-1][fNdet[lay-1]*(lad-1)+det-1].fShapeIndex);}
ClassDef(AliITSgeom,1)
};
public:
AliITSgeomSDD();
virtual ~AliITSgeomSDD(){};
- inline TBRIK *GetShape(){return fShapeSDD;}
+ TBRIK *GetShape() const {return fShapeSDD;}
ClassDef(AliITSgeomSDD,1)
};
public:
AliITSgeomSPD();
virtual ~AliITSgeomSPD(){};
- inline TBRIK *GetShape(){return fShapeSPD;}
+ TBRIK *GetShape() const {return fShapeSPD;}
ClassDef(AliITSgeomSPD,1)
};
public:
AliITSgeomSSD();
virtual ~AliITSgeomSSD() {};
- inline TBRIK *GetShape(){return fShapeSSD;}
+ TBRIK *GetShape() const {return fShapeSSD;}
ClassDef(AliITSgeomSSD,1)
};
AliITShit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
virtual ~AliITShit() {}
// Get Hit information functions.
- // inline virtual int GetTrack(){return fTrack;} // define in AliHit
- // inline virtual void SetTrack(int track){fTrack=track;) // AliHit
- inline virtual Int_t GetTrackStatus() {return fStatus;}
- inline virtual Int_t GetLayer() {return fLayer;}
- inline virtual Int_t GetLadder() {return fLadder;}
- inline virtual Int_t GetDetector() {return fDet;}
- inline virtual void GetDetectorID(Int_t &layer,Int_t &ladder,
+ // virtual int GetTrack() const {return fTrack;} // define in AliHit
+ // virtual void SetTrack(int track) const {fTrack=track;) // AliHit
+ virtual Int_t GetTrackStatus() const {return fStatus;}
+ virtual Int_t GetLayer() const {return fLayer;}
+ virtual Int_t GetLadder() const {return fLadder;}
+ virtual Int_t GetDetector() const {return fDet;}
+ virtual void GetDetectorID(Int_t &layer,Int_t &ladder,
Int_t &detector)
- {layer=fLayer;ladder=fLadder;detector=fDet;return;};
- inline virtual Float_t GetIonization() {return fDestep;}
+ const {layer=fLayer;ladder=fLadder;detector=fDet;return;};
+ virtual Float_t GetIonization() const {return fDestep;}
//
- inline virtual void GetPositionG(Float_t &x,Float_t &y,Float_t &z)
- {x=fX;y=fY;z=fZ;return;};
- inline virtual Float_t GetTOF() {return fTof;}
- inline virtual void GetPositionG(Float_t &x,Float_t &y,Float_t &z,
+ virtual void GetPositionG(Float_t &x,Float_t &y,Float_t &z)
+ const {x=fX;y=fY;z=fZ;return;};
+ virtual Float_t GetTOF() const {return fTof;}
+ virtual void GetPositionG(Float_t &x,Float_t &y,Float_t &z,
Float_t &tof)
- {x=fX;y=fY;z=fZ,tof=fTof;return;};
- inline virtual Float_t GetXG(){return fX;}
- inline virtual Float_t GetYG(){return fY;}
- inline virtual Float_t GetZG(){return fZ;}
- virtual void GetPositionL(Float_t &x,Float_t &y,Float_t &z);
- virtual void GetPositionL(Float_t &x,Float_t &y,Float_t &z,
+ const {x=fX;y=fY;z=fZ,tof=fTof;return;};
+ virtual Float_t GetXG()const {return fX;}
+ virtual Float_t GetYG()const {return fY;}
+ virtual Float_t GetZG()const {return fZ;}
+ virtual void GetPositionL(Float_t &x,Float_t &y,Float_t &z);
+ virtual void GetPositionL(Float_t &x,Float_t &y,Float_t &z,
Float_t &tof);
- virtual Float_t GetXL();
- virtual Float_t GetYL();
- virtual Float_t GetZL();
+ virtual Float_t GetXL();
+ virtual Float_t GetYL();
+ virtual Float_t GetZL();
// Get Monti Carlo information about hit.
- inline virtual void GetMomentumG(Float_t &px,Float_t &py,Float_t &pz)
- {px=fPx;py=fPy;pz=fPz;return;};
- virtual void GetMomentumL(Float_t &px,Float_t &py,Float_t &pz);
+ virtual void GetMomentumG(Float_t &px,Float_t &py,Float_t &pz)
+ const {px=fPx;py=fPy;pz=fPz;return;};
+ virtual void GetMomentumL(Float_t &px,Float_t &py,Float_t &pz);
+
ClassDef(AliITShit,1) //Hits object for set:ITS
};
//________________________________________________________________
//
- inline Int_t GetIndex() { return fIndex;}
- //inline Int_t GetLayer() { return fLayer;}
- //inline Int_t GetLadder() { return fLadder;}
- //inline Int_t GetDet() { return fDet;}
+ Int_t GetIndex() const { return fIndex;}
+ //Int_t GetLayer() const { return fLayer;}
+ //Int_t GetLadder() const { return fLadder;}
+ //Int_t GetDet() const { return fDet;}
//________________________________________________________________
//________________________________________________________________
//
- inline Int_t GetNhits() { return fNhitsM;}
+ Int_t GetNhits() const { return fNhitsM;}
// returns number of hits in this module
- inline TObjArray *GetHits() { return fHitsM; }
+ TObjArray *GetHits() const { return fHitsM; }
// returns pointer to array (TClonesArray) of pointers to hits
Int_t AddHit(AliITShit *hit);
/*
$Log$
+Revision 1.7 1999/09/29 09:24:20 fca
+Introduction of the Copyright and cvs Log
+
*/
///////////////////////////////////////////////////////////////////////////////
ClassImp(AliITSv0)
//_____________________________________________________________________________
-AliITSv0::AliITSv0() : AliITS()
+AliITSv0::AliITSv0()
{
//
// Default constructor for ITS
/*
$Log$
+Revision 1.8 1999/09/29 09:24:20 fca
+Introduction of the Copyright and cvs Log
+
*/
///////////////////////////////////////////////////////////////////////////////
ClassImp(AliITSv1)
//_____________________________________________________________________________
-AliITSv1::AliITSv1() : AliITS()
-{
- //
- // Default constructor for the ITS
- //
+AliITSv1::AliITSv1() {
+ //
+ // Default constructor for the ITS
+ //
+ fId1N = 6;
+ fId1Name = new char*[fId1N];
+ fId1Name[0] = "ITS1";
+ fId1Name[1] = "ITS2";
+ fId1Name[2] = "ITS3";
+ fId1Name[3] = "ITS4";
+ fId1Name[4] = "ITS5";
+ fId1Name[5] = "ITS6";
}
//_____________________________________________________________________________
-AliITSv1::AliITSv1(const char *name, const char *title)
- : AliITS(name, title)
-{
- //
- // Standard constructor for the ITS
- //
+AliITSv1::AliITSv1(const char *name, const char *title) : AliITS(name, title){
+ //
+ // Standard constructor for the ITS
+ //
+ fId1N = 6;
+ fId1Name = new char*[fId1N];
+ fId1Name[0] = "ITS1";
+ fId1Name[1] = "ITS2";
+ fId1Name[2] = "ITS3";
+ fId1Name[3] = "ITS4";
+ fId1Name[4] = "ITS5";
+ fId1Name[5] = "ITS6";
}
//_____________________________________________________________________________
}
//_____________________________________________________________________________
-void AliITSv1::Init()
-{
- //
- // Initialise the ITS after it has been built
- //
- AliITS::Init();
- fMajorVersion = 1;
- fMinorVersion = 0;
+void AliITSv1::Init(){
+ //
+ // Initialise the ITS after it has been built
+ //
+ Int_t i,j,l;
+
+ fIdN = fId1N;;
+ fIdName = new char*[fIdN];
+ fIdSens = new Int_t[fIdN];
+ for(i=0;i<fId1N;i++) {
+ l = strlen(fId1Name[i]);
+ fIdName[i] = new char[l+1];
+ for(j=0;j<l;j++) fIdName[i][j] = fId1Name[i][j];
+ fIdName[i][l] = '\0'; // Null terminate this string.
+ } // end for i
+ //
+ AliITS::Init();
+ fMajorVersion = 1;
+ fMinorVersion = 0;
}
//_____________________________________________________________________________
new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits);
}
}
+
+//____________________________________________________________________________
+void AliITSv1::Streamer(TBuffer &R__b)
+{
+ // Stream an object of class AliITSv1.
+
+ if (R__b.IsReading()) {
+ Version_t R__v = R__b.ReadVersion(); if (R__v) { }
+ AliITS::Streamer(R__b);
+ // This information does not need to be read. It is "hard wired"
+ // into this class via its creators.
+ //R__b >> fId1N;
+ //R__b.ReadArray(fId1Name);
+ } else {
+ R__b.WriteVersion(AliITSv1::IsA());
+ AliITS::Streamer(R__b);
+ // This information does not need to be saved. It is "hard wired"
+ // into this class via its creators.
+ //R__b << fId1N;
+ //R__b.WriteArray(fId1Name, __COUNTER__);
+ }
+}
#include "AliITS.h"
class AliITSv1 : public AliITS {
+
+private:
+ Int_t fId1N; // The number of layers for geometry version 5
+ // The name of the layers as defined in the Geant tree.
+ char **fId1Name;
public:
AliITSv1();
/*
$Log$
+Revision 1.7 1999/09/29 09:24:20 fca
+Introduction of the Copyright and cvs Log
+
*/
///////////////////////////////////////////////////////////////////////////////
ClassImp(AliITSv3)
//_____________________________________________________________________________
-AliITSv3::AliITSv3() : AliITS(){
- //
- // Default constructor for ITS
- //
- fMinorVersionV3=1;
+AliITSv3::AliITSv3() {
+ //
+ // Default constructor for ITS
+ //
+ fId3N = 6;
+ fId3Name = new char*[fId3N];
+ fId3Name[0] = "ITS1";
+ fId3Name[1] = "ITS2";
+ fId3Name[2] = "ITS3";
+ fId3Name[3] = "ITS4";
+ fId3Name[4] = "ITS5";
+ fId3Name[5] = "ITS6";
+ fMinorVersionV3=1;
}
//_____________________________________________________________________________
AliITSv3::AliITSv3(const char *name, const char *title) : AliITS(name, title){
- //
- // Standard constructor for ITS
- //
- fMinorVersionV3=1;
+ //
+ // Standard constructor for ITS
+ //
+ fId3N = 6;
+ fId3Name = new char*[fId3N];
+ fId3Name[0] = "ITS1";
+ fId3Name[1] = "ITS2";
+ fId3Name[2] = "ITS3";
+ fId3Name[3] = "ITS4";
+ fId3Name[4] = "ITS5";
+ fId3Name[5] = "ITS6";
+ fMinorVersionV3=1;
}
//_____________________________________________________________________________
}
//_____________________________________________________________________________
-void AliITSv3::Init()
-{
- //
- // Initialise its after it is built
- //
- AliITS::Init();
- fMajorVersion = 3;
- fMinorVersion = fMinorVersionV3;
+void AliITSv3::Init(){
+ //
+ // Initialise its after it is built
+ //
+ Int_t i,j,l;
+
+ fIdN = fId3N;;
+ fIdName = new char*[fIdN];
+ fIdSens = new Int_t[fIdN];
+ for(i=0;i<fId3N;i++) {
+ l = strlen(fId3Name[i]);
+ fIdName[i] = new char[l+1];
+ for(j=0;j<l;j++) fIdName[i][j] = fId3Name[i][j];
+ fIdName[i][l] = '\0'; // Null terminate this string.
+ } // end for i
+ //
+ AliITS::Init();
+ fMajorVersion = 3;
+ fMinorVersion = fMinorVersionV3;
}
//_____________________________________________________________________________
new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits);
}
}
+
+//____________________________________________________________________________
+void AliITSv3::Streamer(TBuffer &R__b)
+{
+ // Stream an object of class AliITSv3.
+
+ if (R__b.IsReading()) {
+ Version_t R__v = R__b.ReadVersion(); if (R__v) { }
+ AliITS::Streamer(R__b);
+ // This information does not need to be read. It is "hard wired"
+ // into this class via its creators.
+ //R__b >> fId3N;
+ //R__b.ReadArray(fId3Name);
+ } else {
+ R__b.WriteVersion(AliITSv3::IsA());
+ AliITS::Streamer(R__b);
+ // This information does not need to be saved. It is "hard wired"
+ // into this class via its creators.
+ //R__b << fId3N;
+ //R__b.WriteArray(fId3Name, __COUNTER__);
+ }
+}
class AliITSv3 : public AliITS {
+private:
+ Int_t fId3N; // The number of layers for geometry version 5
+ // The name of the layers as defined in the Geant tree.
+ char **fId3Name;
+
protected:
Int_t fMinorVersionV3; //Minor version identifier
virtual void CreateMaterials();
virtual void Init();
virtual Int_t IsVersion() const {return 3;}
- virtual inline void SetMinorVersion(Int_t version) {fMinorVersionV3=version;}
+ virtual void SetMinorVersion(Int_t version) {fMinorVersionV3=version;}
virtual void StepManager();
ClassDef(AliITSv3,1) //Hits manager for set:ITS version 3
/*
$Log$
+Revision 1.6 1999/09/29 09:24:20 fca
+Introduction of the Copyright and cvs Log
+
*/
///////////////////////////////////////////////////////////////////////////////
ClassImp(AliITSv4)
//_____________________________________________________________________________
-AliITSv4::AliITSv4() : AliITS()
+AliITSv4::AliITSv4()
{
//
// Default constructor for the ITS
virtual void CreateMaterials();
virtual void Init();
virtual Int_t IsVersion() const {return 4;}
- virtual inline void SetMinorVersion(Int_t version) {fMinorVersion=version;}
+ virtual void SetMinorVersion(Int_t version) {fMinorVersion=version;}
virtual void StepManager();
ClassDef(AliITSv4,1) //Hits manager for set:ITS version 4
/*
$Log$
+Revision 1.11 1999/09/29 09:24:20 fca
+Introduction of the Copyright and cvs Log
+
*/
///////////////////////////////////////////////////////////////////////////////
ClassImp(AliITSv5)
//_____________________________________________________________________________
-AliITSv5::AliITSv5() : AliITS(){
+AliITSv5::AliITSv5() {
//
// Standard constructor for the ITS
//
virtual void CreateGeometry();
virtual void CreateMaterials();
virtual void Init();
- inline virtual Int_t IsVersion() const {return 5;}
+ virtual Int_t IsVersion() const {return 5;}
virtual void StepManager();
ClassDef(AliITSv5,1) //Hits manager for ITS version 5
#pragma link off all functions;
#pragma link C++ class AliITS-;
-#pragma link C++ class AliITSv1;
-#pragma link C++ class AliITSv3;
+#pragma link C++ class AliITSv1-;
+#pragma link C++ class AliITSv3-;
#pragma link C++ class AliITSv5-;
#pragma link C++ class AliITShit;
#pragma link C++ class AliITSdigit;