* 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 <TObject.h>
#include <TObjArray.h>
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:
//________________________________________________________________
// 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);