X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=HLT%2FMUON%2FOfflineInterface%2FAliHLTMUONRecHitsSource.h;h=c509a16bbf99d6eda44be8d568dc181f33da87b0;hp=3f4669f5a6b70229bc87dbde635ae58009c542d7;hb=d328bad26c39fabec52f3b5138db0f4ed57b3490;hpb=159b743b7b3f80f834155a4440d229224d88aace diff --git a/HLT/MUON/OfflineInterface/AliHLTMUONRecHitsSource.h b/HLT/MUON/OfflineInterface/AliHLTMUONRecHitsSource.h index 3f4669f5a6b..c509a16bbf9 100644 --- a/HLT/MUON/OfflineInterface/AliHLTMUONRecHitsSource.h +++ b/HLT/MUON/OfflineInterface/AliHLTMUONRecHitsSource.h @@ -1,23 +1,34 @@ #ifndef ALIHLTMUONRECHITSSOURCE_H #define ALIHLTMUONRECHITSSOURCE_H -/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ +/************************************************************************** + * This file is property of and copyright by the ALICE HLT Project * + * All rights reserved. * + * * + * Primary Authors: * + * Artur Szostak * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ /* $Id$ */ -/** - * @file AliHLTMUONRecHitsSource.h - * @author Artur Szostak - * @date - * @brief Class for generating reconstructed hits data blocks from AliRoot data. - */ +/// +/// @file AliHLTMUONRecHitsSource.h +/// @author Artur Szostak +/// @date +/// @brief Class for generating reconstructed hits data blocks from AliRoot data. +/// #include "AliHLTOfflineDataSource.h" -class AliMUONSimData; -class AliMUONRecData; -class AliRunLoader; -class AliLoader; +class AliMUONMCDataInterface; +class AliMUONDataInterface; /** * AliHLTMUONRecHitsSource is a HLT-AliRoot data source object which generates @@ -38,6 +49,16 @@ class AliLoader; * in the range [1..10]. The string after '-chamber' is a comma separated * list of numbers or ranges. Some examples of strings: * 1 1-2 1,2,3 1,3-5,7 etc... + * -firstevent + * Indicates the first event number to fetch from AliRoot. The default is to + * start from zero and increment the event number after every GetEvent call. + * This mode causes the component to ignore the event number passed to it by + * the system and rather use an internal counter. This mode can be overriden + * with the -event_number_literal flag. + * -event_number_literal + * This flag indicates to use the event numbers as literal indices into the + * AliRoot trees. This option will cause the component to ignore the -firstevent + * flag. */ class AliHLTMUONRecHitsSource : public AliHLTOfflineDataSource { @@ -46,14 +67,6 @@ public: AliHLTMUONRecHitsSource(); virtual ~AliHLTMUONRecHitsSource(); - virtual int GetEvent( - const AliHLTComponentEventData& evtData, - AliHLTComponentTriggerData& trigData, - AliHLTUInt8_t* outputPtr, - AliHLTUInt32_t& size, - vector& outputBlocks - ); - virtual const char* GetComponentID(); virtual AliHLTComponentDataType GetOutputDataType(); @@ -67,8 +80,25 @@ protected: virtual int DoInit(int argc, const char** argv); virtual int DoDeinit(); + virtual int GetEvent( + const AliHLTComponentEventData& evtData, + AliHLTComponentTriggerData& trigData, + AliHLTUInt8_t* outputPtr, + AliHLTUInt32_t& size, + vector& outputBlocks + ); + + using AliHLTOfflineDataSource::GetEvent; + private: + // Prevent copying of these objects. + AliHLTMUONRecHitsSource(const AliHLTMUONRecHitsSource& /*object*/); + AliHLTMUONRecHitsSource& operator = (const AliHLTMUONRecHitsSource& /*object*/); + + AliMUONMCDataInterface* fMCDataInterface; // access to MUON MC-related data + AliMUONDataInterface* fDataInterface; // access to MUON data + enum SelectionType { kLeftPlane, // everything from x < 0 @@ -87,12 +117,12 @@ private: */ int ParseChamberString(const char* str); - AliMUONSimData* fSimData; //! MUON module interface to simulated data. - AliMUONRecData* fRecData; //! MUON module interface to reconstructed data. - AliRunLoader* fRunLoader; //! A pointer to the AliRunLoader instance. - AliLoader* fLoader; //! Pointer to the MUON loader instance. SelectionType fSelection; //! Indicates if we should publish from the left, right or whole XY plane. bool fServeChamber[10]; //! Flag to indicate if hits from a given chamber should be published. + + Int_t fCurrentEventIndex; //! The current event index that is loaded. + // -1 indicates that we should rather use the event + // numbers as given by the system. ClassDef(AliHLTMUONRecHitsSource, 0); // dHLT data source for reconstructed hit data blocks. };