]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/OnlineAnalysis/AliHLTMUONFullTracker.h
patch
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONFullTracker.h
index b0cb278192a55c4ea72bea3d53f6e730b545816a..e1814a93f23827abf2a80a5f87acac242b749bc9 100644 (file)
@@ -72,11 +72,15 @@ class AliHLTMUONFullTracker : public AliHLTLogging
   ///Set the input of rechit blocks
   Bool_t SetInput(AliHLTInt32_t ddl, const AliHLTMUONRecHitStruct  *data, AliHLTInt32_t size);
   ///Main method to run and compute the tracks
-  Bool_t Run(int iEvent,AliHLTMUONMansoTrackStruct *data, AliHLTUInt32_t& size);
+  Bool_t Run(AliHLTEventID_t iEvent,AliHLTMUONTrackStruct *data, AliHLTUInt32_t& size);
   ///To be called once from DoInit method of component
   Bool_t Init();
   ///Max number of points per chamber
   int MaxNofPointsPerCh(){return fgkMaxNofPointsPerCh;}
+  ///Set for fast tracking bypass  default Kalman tracking
+  void FastTracking(Bool_t isFast){fFastTracking = isFast;}
+  ///Getter for fast tracking
+  Bool_t FastTracking(){return fFastTracking;}
 
  protected:
 
@@ -122,6 +126,7 @@ class AliHLTMUONFullTracker : public AliHLTLogging
   static const Int_t fgkMaxNofCh ;              /// maximum number of chambrs
   static const Int_t fgkMaxNofTracks;           /// maximum number of allowed tracks
   static const Int_t fgkMaxNofConnectedTracks;  /// maximum number of back to front connected tracks
+  static const Int_t fgkMaxNofTriggers;         /// maximum number of triggers (condition comes from simulation prediction)
   
   AliMUONGeometryTransformer *fChamberGeometryTransformer; /// Pointer to AliMUONGeometryTransformer
   AliHLTMUONRecHitStruct ***fChPoint; /// array of pointer to rechit data
@@ -146,8 +151,14 @@ class AliHLTMUONFullTracker : public AliHLTLogging
   Int_t fNofConnected ; /// number of connected track segments
   AliHLTUInt32_t fNofTracks; /// number of connected track segments
   DetElemList fDetElemList; ///Map for valid detelem
-  
-
+  Bool_t fFastTracking ; ///flag for fast tracking avoiding kalman
+  Int_t   fNofInputs; /// Nof inputs
+  Int_t   fNofTriggerInputs; /// Nof inputs
+  Int_t   fNofTrackerInputs; /// Nof inputs
+  Bool_t  fIsMagfield ; /// checks the status of magfield
+
+  ///  Cross Check the inputs
+  Bool_t CheckInput(AliHLTEventID_t iEvent);
   /// Slat Track segments 
   Bool_t SlatTrackSeg();
   /// Calculate preliminary momentum
@@ -162,7 +173,7 @@ class AliHLTMUONFullTracker : public AliHLTLogging
   void PropagateTracks(Double_t charge, Float_t& px, Float_t& py, Float_t& pz, 
                       Float_t& xr, Float_t& yr, Float_t& zr, Float_t zprop);
   /// extrapolate to origin
-  Bool_t ExtrapolateToOrigin(Bool_t extrap);
+  Bool_t ExtrapolateToOrigin();
   /// Clean after each run
   Bool_t Clear();
 
@@ -201,7 +212,7 @@ class AliHLTMUONFullTracker : public AliHLTLogging
   /// Helix3 method of track extrapolation through mag field
   inline void OneStepHelix3(Double_t field, Double_t step, const Double_t *vect, Double_t *vout) const;                                  
   /// Fill the tracks to output pointer
-  Bool_t FillOutData(AliHLTMUONMansoTrackStruct *data, AliHLTUInt32_t& size);
+  Bool_t FillOutData(AliHLTMUONTrackStruct *data, AliHLTUInt32_t& size);
   
 };
 #endif // ALIHLTMUONMANSOTRACKERFSM_H