//-*- Mode: C++ -*- // $Id$ #ifndef ALIHLTTRDESDWRITERCOMPONENT_H #define ALIHLTTRDESDWRITERCOMPONENT_H //* This file is property of and copyright by the ALICE HLT Project * //* ALICE Experiment at CERN, All rights reserved. * //* See cxx source for full Copyright notice * /** @file AliHLTTRDEsdWriterComponent.h @author Mateusz Ploskon @date @brief Writer component to store tracks of the HLT TRD */ #include "AliHLTRootFileWriterComponent.h" // forward declarations class TTree; class AliESDEvent; class AliESDfriend; class TClonesArray; /** * @class AliHLTTRDEsdWriterComponent * @see AliHLTFileWriter and AliHLTRootFileWriterComponent for more parameters */ class AliHLTTRDEsdWriterComponent : public AliHLTRootFileWriterComponent { public: /** standard constructor */ AliHLTTRDEsdWriterComponent(); /** destructor */ ~AliHLTTRDEsdWriterComponent(); /** * The id of the component. * @return component id (string) */ const char* GetComponentID() {return "TRDEsdWriter";}; void GetInputDataTypes( vector& list); /** * Spawn function. * @return new class instance */ //virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); AliHLTComponent* Spawn() {return new AliHLTTRDEsdWriterComponent;} protected: /** * Init the writer. * The DoInit function is not available for this child class. InitWriter is the * corresponding function for classes derived from AliHLTFileWriter. */ int InitWriter(); /** * Init the writer. * The DoDeinit function is not available for this child class. CloseWriter is the * corresponding function for classes derived from AliHLTFileWriter. */ int CloseWriter(); /** * Data processing method for the component. * The function can be overloaded by specific ROOT file writer * components. * @param evtData event data structure * @param blocks input data block descriptors * @param trigData trigger data structure */ virtual int DumpEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, AliHLTComponentTriggerData& trigData ); using AliHLTRootFileWriterComponent::DumpEvent; /** * Scan one argument and adjacent parameters. * @param argc size of the argument array * @param argv agument array for component initialization * @return number of processed members of the argv
* -EINVAL unknown argument
* -EPROTO parameter for argument missing
*/ //int ScanArgument(int argc, const char** argv); private: /** not a valid copy constructor, defined according to effective C++ style */ AliHLTTRDEsdWriterComponent(const AliHLTTRDEsdWriterComponent&); /** not a valid assignment op, but defined according to effective C++ style */ AliHLTTRDEsdWriterComponent& operator=(const AliHLTTRDEsdWriterComponent&); /** the ESD tree */ TTree* fTree; //! transient value TTree* fFrTree; //! transient value /** the ESD */ AliESDEvent* fESD; //! transient value AliESDfriend* fESDfriend; //! transient value TFile* fFile; //! transient value TFile* fFrFile; //! transient value TClonesArray* fTracksArray; //! transient value ClassDef(AliHLTTRDEsdWriterComponent, 1) }; #endif