X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSmodule.h;h=0a66a24685c325247cd42ae2fae83ade08498965;hb=6a62da73fb1ac261f88e15bf2ed2f5172012ad8b;hp=3b22afa954f1e7de6f4d8e08a62bf933856f5235;hpb=2bffff54186fdefd90dfe3eae372eccebd701597;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSmodule.h b/ITS/AliITSmodule.h index 3b22afa954f..0a66a24685c 100644 --- a/ITS/AliITSmodule.h +++ b/ITS/AliITSmodule.h @@ -4,6 +4,19 @@ * See cxx source for full Copyright notice */ /* $Id$ */ +/////////////////////////////////////////////////////////////////////// +// // +// Class AliITSmodule // +// is a superclass for AliITSmoduleSSD, SPD and SDD. // +// The main function of modules is to simulate DIGITS from // +// GEANT HITS and produce POINTS from DIGITS // +// It also make fast simulation without use of DIGITS // +// // +// created by: A.Boucham, W.Peryt, S.Radomski, P.Skowronski // +// R.Barbera, B. Batynia, B. Nilsen // +// ver. 1.0 CERN, 16.09.1999 // +// // +/////////////////////////////////////////////////////////////////////// #include #include @@ -15,20 +28,6 @@ class AliITShit; class AliITSmodule:public TObject{ -//________________________________________________________________ -// -// Class AliITSmodule -// is a superclass for AliITSmoduleSSD, SPD and SDD. -// The main function of modules is to simulate DIGITS from -// GEANT HITS and produce POINTS from DIGITS -// It also make fast simulation without use of DIGITS -// -// created by: A.Boucham, W.Peryt, S.Radomski, P.Skowronski -// R.Barbera, B. Batynia, B. Nilsen -// ver. 1.0 CERN, 16.09.1999 -// -//________________________________________________________________ -// public: //________________________________________________________________ @@ -87,33 +86,38 @@ class AliITSmodule:public TObject{ // Adds pointer of hit belonging to this module // and returns number of hits in this module Int_t AddHit(AliITShit *hit,Int_t TrackIndex,Int_t HitIndex); - void MedianHitG(Int_t index, Float_t hitx1,Float_t hity1,Float_t hitz1, - Float_t hitx2,Float_t hity2,Float_t hitz2, Float_t &xMg, - Float_t &yMg, Float_t &zMg); - void MedianHitL(Int_t index, AliITShit *itsHit1, AliITShit *itsHit2, - Float_t &xMl, Float_t &yMl, Float_t &zMl); - Double_t PathLength(Int_t index, AliITShit *itsHit1, AliITShit *itsHit2); - Int_t GetHitTrackIndex(Int_t i) { - // get hit track index - return fTrackIndex->At(i); - } + Int_t GetHitTrackIndex(Int_t i) {// get hit track index + return fTrackIndex->At(i);} Int_t GetHitHitIndex(Int_t i) { - // return the hit index number in TreeH for the given sorted hit in the module. - return fHitIndex->At(i); - } + // return the hit index number in TreeH for the given sorted hit in + // the module. + return fHitIndex->At(i);} void GetHitTrackAndHitIndex(Int_t i,Int_t &TrackIndex,Int_t &HitIndex) { // return the hit index number for the given hit. Hits are kept on // file according to their track index and hit index numbers. - TrackIndex = fTrackIndex->At(i);HitIndex = fHitIndex->At(i); - } + TrackIndex = fTrackIndex->At(i);HitIndex = fHitIndex->At(i);} + // Computes mean global location from hits that make up a track passing + // through a volume. + Bool_t MedianHitG(AliITShit *h1,AliITShit *h2, + Float_t &x,Float_t &y,Float_t &z); + void MedianHitG(Int_t index, Float_t hitx1,Float_t hity1,Float_t hitz1, + Float_t hitx2,Float_t hity2,Float_t hitz2, Float_t &xMg, + Float_t &yMg, Float_t &zMg); + // Computes mean local location from hits that make up a track passing + // through a volume. + Bool_t MedianHitL(AliITShit *h1,AliITShit *h2, + Float_t &x,Float_t &y,Float_t &z) const; + void MedianHitL(Int_t,AliITShit *,AliITShit *,Float_t &,Float_t &, + Float_t &){}; + Double_t PathLength(const AliITShit *itsHit1,const AliITShit *itsHit2); // returns both the track and hit index numbers for the given hit. Hits // are kept on file according to their track index and hit index numbers. void MedianHit(Int_t index, Float_t xg,Float_t yg,Float_t zg, Int_t status,Float_t &xMg, Float_t &yMg, Float_t &zMg, Int_t &flag); - void PathLength(Int_t index,Float_t x,Float_t y,Float_t z,Int_t status, + void PathLength(Float_t x,Float_t y,Float_t z,Int_t status, Int_t &nseg,Float_t &x1,Float_t &y1,Float_t &z1, - Float_t &dx1,Float_t &dy1, Float_t &dz1,Int_t &flag); + Float_t &dx1,Float_t &dy1, Float_t &dz1,Int_t &flag) const; Bool_t LineSegmentL(Int_t hindex,Double_t &a,Double_t &b, Double_t &c,Double_t &d,Double_t &e,Double_t &f, Double_t &de);