// cout<<" brHits hits "<<nhits<<endl;
for (hit=0;hit<nhits;hit++) {
startHit = (AliSTARThit*) fHits->UncheckedAt(hit);
- pmt=startHit->fPmt;
- volume = startHit->fVolume;
+ pmt=startHit->Pmt();
+ volume = startHit->Volume();
if(volume==1){
- timeright[pmt] = startHit->fTime;
+ timeright[pmt] = startHit->Time();
if(timeright[pmt]<besttimeright)
//&&CountEr[pmt-1]>thresholdAmpl)
{
} //timeright
}//time for right shoulder
if(volume==2){
- timeleft[pmt] = startHit->fTime;
+ timeleft[pmt] = startHit->Time();
if(timeleft[pmt]<besttimeleft)
//&&CountEl[pmt-1]>thresholdAmpl)
{
+//////////////////////////////////////////////////////////////////////////////
+// //
+// Loader for START digits and RecPoints inherit from AliBaseDataLoader //
+// STARTDigits is TObject consists time flight signal from each PMTtube, //
+// mean time right and left array (start signal) and time differnce //
+// (vertex z position) //
+// START RecPoints is TObject with mean time (start signal) //
+// and evrtex position (cm) //
+/////////////////////////////////////////////////////////////////////////////
#include "AliSTARTLoader.h"
#include <AliRunLoader.h>
#include "AliDataLoader.h"
{
//ctor
- cout<<" My AliDTARTLoader!!!!! "<<endl;
+ cout<<" My AliSTARTLoader!!!!! "<<endl;
}
#include <AliLoader.h>
#include "AliDataLoader.h"
-#include <AliSTART.h>
#include "AliSTARTdigit.h"
#include "AliSTARTvertex.h"
-
+class AliSTART;
class AliSTARTLoader: public AliLoader
{
public:
Int_t PostRecPoints(){return fVertexDataLoader.GetBaseDataLoader()->Post();}
- // DATA
- AliDataLoader fDigitsDataLoader;
-
- AliDataLoader fVertexDataLoader;
-
+ // DATA
+ AliDataLoader fDigitsDataLoader; //digits loader
+
+ AliDataLoader fVertexDataLoader; // RecPoints (vertex position) loader
+
public:
- ClassDef(AliSTARTLoader,1)
+ ClassDef(AliSTARTLoader,1)
};
#endif
**************************************************************************/
/* $Id$ */
+/////////////////////////////////////////////////////////////////////////
+// Class AliSTARTdigit for START digits
+// fTimeRight - right side TOF signal
+// fTimeLeft - left side TOF signal
+// fTimeBestRight - TOF first particle on the right side
+// TimeBestLeft - TOF first particle on the left side
+// fTimeAverage = (fTimeBestRight + TimeBestLeft ) /2. START signal
+// fTimeDiff = fTimeBestRight - TimeBestLeft
+//
+///////////////////////////////////////////////////////////////////////
+
+
+
#include <TArrayI.h>
#include "AliSTARTdigit.h"
#include <Riostream.h>
//------------------------------------
AliSTARTdigit::AliSTARTdigit() : TObject()
{
+ //ctor
fTimeAverage=9999;
fTimeDiff=9999;
fTimeBestRight=9999;
//-----------------------------------
void AliSTARTdigit::SetTimeRight (TArrayI &o)
{
+ ////////////////////////////////////////
fTimeRight = new TArrayI(12);
Int_t i;
//--------------------------------------------
void AliSTARTdigit::SetTimeLeft (TArrayI &o)
{
-
+ //
fTimeLeft = new TArrayI(12);
Int_t i;
for (i=0; i<12; i++)
//--------------------------------------------
void AliSTARTdigit::GetTimeLeft (TArrayI &o)
{
-
+ //
Int_t i;
for (i=0; i<12; i++)
{
//--------------------------------------------
void AliSTARTdigit::GetTimeRight (TArrayI &o)
{
-
+ //
Int_t i;
for (i=0; i<12; i++)
{
//--------------------------------------------
void AliSTARTdigit::GetADCLeft (TArrayI &o)
{
-
+ //
Int_t i;
for (i=0; i<12; i++)
{
//--------------------------------------------
void AliSTARTdigit::GetADCRight (TArrayI &o)
{
-
+ //
Int_t i;
for (i=0; i<12; i++)
{
//--------------------------------------------
void AliSTARTdigit::SetADCLeft (TArrayI &o)
{
-
+ //
fADCLeft = new TArrayI(12);
Int_t i;
// Float_t fProcessKoef=1; // for pb 0.001
//------------------------------------------------------
void AliSTARTdigit::Print()
{
+ //
printf("AliSTARTdigit: fTimeAverage=%d, fTimeDiff=%d\n",
fTimeAverage, fTimeDiff);
cout<<" BestTimeRigh "<<fTimeBestRight<<
/* $Id$ */
#include <TObject.h>
-#include <TArrayI.h>
+class TArrayI;
//___________________________________________
class AliSTARTdigit: public TObject {
**************************************************************************/
/* $Id$ */
+// AliSTARThit is the hit class for the START. Hits are the information
+// that comes from a Monte Carlo at each step as a particle mass through
+// sensitive detector elements as particles are transported through a
+// detector.
+//
+// Data members:
+//
+// Int_t fTrack
+// See AliHit for a full description. The track number of the track
+// that made this hit.
+//
+// Float_t fX
+// See AliHit for a full description. The global x position of the
+// hit (in the standard units of the Monte Carlo).
+//
+// Float_t fY
+// See AliHit for a full description. The global y position of the
+// hit (in the standard units of the Monte Carlo).
+//
+// Float_t fZ
+// See AliHit for a full description. The global z position of the
+// hit (in the standard units of the Monte Carlo).
+//
+// Int_t fStatus
+// The track status flag. This flag indicates the track status
+// at the time of creating this hit. It is made up of the following 8
+// status bits from highest order to lowest order bits
+// 0 : IsTrackAlive(): IsTrackStop():IsTrackDisappeared():
+// IsTrackOut():IsTrackExiting():IsTrackEntering():IsTrackInside() .
+// See AliMC for a description of these functions. If the function is
+// true then the bit is set to one, otherwise it is zero.
+//
+// Int_t fVolume
+// The number of the START detector that contains this hit.
+// 0 - right array; 1 - left array
+// Int_t fPmt
+// the number of PMT tube that contains hit
+// Float_t fEdep
+// The energy lost by the particle during the step ending in this
+// hit. The units are those determined by the Monte Carlo.
+//
+// Float_t fTime
+// The time of flight associated with the particle in this
+// hit. The time is typically measured from the point of creation of the
+// original particle (if this particle is a daughter). The units
+// are those determined by the Monte Carlo.
+///////////////////////////////////////////////////////////////////////
+
#include "AliSTARThit.h"
class AliSTARThit : public AliHit {
public:
+ AliSTARThit(){}//Empty ctor
+ AliSTARThit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
+ virtual ~AliSTARThit(){}//Empty virtual dtor
+ Int_t Volume() const {return fVolume;}
+ Int_t Pmt() const {return fPmt;}
+ Float_t Particle() const {return fParticle;}
+ Float_t Edep() const {return fEdep;}
+ Float_t Etot() const {return fEtot;}
+ Float_t Time() const {return fTime;}
+
+private:
Int_t fVolume; //T0 arm mark
Int_t fPmt; //PMT number in the arm
Int_t fParticle; //Primary particle ID
Float_t fEtot; //Energy of primary particle at the entrance to radiator
Float_t fTime; //Primary particle TOF
-public:
- AliSTARThit(){}//Empty ctor
- AliSTARThit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
- virtual ~AliSTARThit(){}//Empty virtual dtor
ClassDef(AliSTARThit,1) //Hits for detector START
};