]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCSliceTrackerComponent.h
cleanup (Gaute)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCSliceTrackerComponent.h
index 53d1e8af98e1aabb55dd86fd05ff5fa2a185cd19..636fce62556b5bb345a0f962abf2da813c0c39a1 100644 (file)
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* AliHLTTPCSliceTrackerComponent
- */
+/** @file   AliHLTTPCSliceTrackerComponent.h
+    @author Timm Steinbeck, Matthias Richter
+    @date   
+    @brief  The TPC conformal mapping tracker component.
+*/
 
 #include "AliHLTProcessor.h"
-#include "AliHLTTPCDefinitions.h"
 
 class AliHLTTPCConfMapper;
 class AliHLTTPCVertex;
+class AliHLTTPCInterMerger;
 
+/**
+ * @class AliHLTTPCSliceTrackerComponent
+ * The TPC conformal mapping tracker component.
+ * 
+ * The component has the following component arguments:
+ * - disable-merger  disable merging of track segments
+ * - pp-run          parameter set for pp run
+ * - multiplicity    multiplicity to choose parameter set for
+ * - bfield          magnatic field
+ * 
+ * @ingroup alihlt_tpc
+ */
 class AliHLTTPCSliceTrackerComponent : public AliHLTProcessor
-    {
-    public:
-       AliHLTTPCSliceTrackerComponent();
-       virtual ~AliHLTTPCSliceTrackerComponent();
-
-       // Public functions to implement AliHLTComponent's interface.
-       // These functions are required for the registration process
-
-       const char* GetComponentID();
-       void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
-       AliHLTComponent_DataType GetOutputDataType();
-       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
-       AliHLTComponent* Spawn();
-       
-    protected:
-       
-       void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
-                            Int_t trackletlength=3,Int_t tracklength=5,
-                            Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
-                            Double_t min_pt_fit=0,Double_t maxangle=1.31,
-                            Double_t goodDist=5,Double_t hitChi2Cut=10,
-                            Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
-                            Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
-                            bool vertexconstraint=true);
-       void SetTrackerParam( bool doPP, int multiplicity, double bField );
-       void SetTrackerParam1()
-               {
-               SetTrackerParam( 10, 20, 5, 10, 2,2,
-                                0, 1.31, 5, 100,
-                                50, 100, 50, 0.1, 0.1,
-                                true );
-               }
-
-       // Protected functions to implement AliHLTComponent's interface.
-       // These functions provide initialization as well as the actual processing
-       // capabilities of the component. 
-
-       int DoInit( int argc, const char** argv );
-       int DoDeinit();
-       int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
-                    AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
-                    AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
-       
-    private:
-
-       AliHLTTPCConfMapper* fTracker;
-       AliHLTTPCVertex* fVertex;
-       float fEta[2];
-       bool fDoNonVertex;
-       bool fDoPP;
-       int fMultiplicity;
-       double fBField;
-
-// BEGINN ############################################## MODIFIY JMT
-       Bool_t fnonvertextracking;   // enable NONVERTEX Tracking
-       Bool_t fmainvertextracking;  // enable MAINVERTEX Tracking
-// END ################################################# MODIFIY JMT
-
-       ClassDef(AliHLTTPCSliceTrackerComponent, 0)
-
-    };
+{
+public:
+  /** default constructor */
+  AliHLTTPCSliceTrackerComponent();
+  /** not a valid copy constructor, defined according to effective C++ style */
+  AliHLTTPCSliceTrackerComponent(const AliHLTTPCSliceTrackerComponent&);
+  /** not a valid assignment op, but defined according to effective C++ style */
+  AliHLTTPCSliceTrackerComponent& operator=(const AliHLTTPCSliceTrackerComponent&);
+  /** destructor */
+  virtual ~AliHLTTPCSliceTrackerComponent();
+
+  // Public functions to implement AliHLTComponent's interface.
+  // These functions are required for the registration process
+
+  /** interface function, see @ref AliHLTComponent for description */
+  const char* GetComponentID();
+  /** interface function, see @ref AliHLTComponent for description */
+  void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+  /** interface function, see @ref AliHLTComponent for description */
+  AliHLTComponentDataType GetOutputDataType();
+  /** interface function, see @ref AliHLTComponent for description */
+  virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
+  /** interface function, see @ref AliHLTComponent for description */
+  AliHLTComponent* Spawn();
+
+protected:
+
+  /**
+   * Set Tracker parameters
+   * Knowledge on that has been lost, so somebody has to insert more
+   * documentation.
+   */  
+  void SetTrackerParam(Int_t phiSegments=50,Int_t etaSegments=100,
+                      Int_t trackletlength=3,Int_t tracklength=5,
+                      Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
+                      Double_t minPtFit=0,Double_t maxangle=1.31,
+                      Double_t goodDist=5,Double_t hitChi2Cut=10,
+                      Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
+                      Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
+                      bool vertexconstraint=true);
+
+  /**
+   * Set Tracker parameters
+   * Knowledge on that has been lost, so somebody has to insert more
+   * documentation.
+   */
+  void SetTrackerParam( bool doPP, int multiplicity, double bField );
+
+  /**
+   * Set default tracker parameters
+   * Knowledge on that has been lost, so somebody has to insert more
+   * documentation.
+   */
+  void SetTrackerParam1();
+
+  // Protected functions to implement AliHLTComponent's interface.
+  // These functions provide initialization as well as the actual processing
+  // capabilities of the component. 
+
+  /** interface function, see @ref AliHLTComponent for description */
+  int DoInit( int argc, const char** argv );
+  /** interface function, see @ref AliHLTComponent for description */
+  int DoDeinit();
+  /** interface function, see @ref AliHLTComponent for description */
+  int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
+              AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
+              AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
+  
+private:
+
+  /** instance of the tracker */
+  AliHLTTPCConfMapper* fTracker;                                   //! transient
+  /** vertex object */
+  AliHLTTPCVertex* fVertex;                                        //! transient
+  /** eta range */
+  Float_t fEta[2];                                                 //  see above
+  /** switch for subsequent non-vertex tracking */
+  Bool_t fDoNonVertex;                                             //  see above
+  /** */
+  Bool_t  fDoPP;                                                   //  see above
+  /** multiplicity estimate */
+  Int_t fMultiplicity;                                             //  see above
+  /** magnetic field */
+  Double_t fBField;                                                //  see above
+
+  Bool_t fnonvertextracking;   // enable NONVERTEX Tracking
+  Bool_t fmainvertextracking;  // enable MAINVERTEX Tracking
+
+  /** merger object */
+  AliHLTTPCInterMerger *fpInterMerger;                             //! transient
+
+  ClassDef(AliHLTTPCSliceTrackerComponent, 0);
+
+};
 #endif