ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/PhysicsMod/interface/PublisherMod.h
(Generate patch)

Comparing UserCode/MitAna/PhysicsMod/interface/PublisherMod.h (file contents):
Revision 1.5 by loizides, Fri Dec 12 16:03:34 2008 UTC vs.
Revision 1.6 by bendavid, Wed Mar 11 18:13:10 2009 UTC

# Line 18 | Line 18
18  
19   namespace mithep
20   {
21 <  template<class T>
21 >  template<class TIn, class TOut=TIn>
22    class PublisherMod : public BaseMod
23    {
24      public:
# Line 41 | Line 41 | namespace mithep
41        TString                  fBranchName;    //name of collection
42        TString                  fPublicName;    //name of collection
43        Bool_t                   fPubPerEvent;   //=true then publish per event (def=1)
44 <      const Collection<T>     *fColIn;         //!pointer to collection (in)
45 <      ObjArray<T>             *fColOut;        //!pointer to collection (out)
44 >      const Collection<TIn>   *fColIn;         //!pointer to collection (in)
45 >      ObjArray<TOut>          *fColOut;        //!pointer to collection (out)
46  
47        void                     Process();
48        void                     SlaveBegin();
# Line 53 | Line 53 | namespace mithep
53   }
54  
55   //--------------------------------------------------------------------------------------------------
56 < template<class T>
57 < mithep::PublisherMod<T>::PublisherMod(const char *name, const char *title) :
56 > template<class TIn, class TOut>
57 > mithep::PublisherMod<TIn, TOut>::PublisherMod(const char *name, const char *title) :
58    BaseMod(name,title),
59    fBranchName("SetMe"),
60    fPublicName(""),
# Line 66 | Line 66 | mithep::PublisherMod<T>::PublisherMod(co
66   }
67  
68   //--------------------------------------------------------------------------------------------------
69 < template<class T>
70 < void mithep::PublisherMod<T>::Process()
69 > template<class TIn, class TOut>
70 > void mithep::PublisherMod<TIn, TOut>::Process()
71   {
72    // Load the branch, add pointers to the object array. Publish object array if needed.
73  
74    LoadBranch(GetBranchName());
75    if (fPubPerEvent)
76 <    fColOut = new mithep::ObjArray<T>(0, GetPublicName());
76 >    fColOut = new mithep::ObjArray<TOut>(0, GetPublicName());
77    else
78      fColOut->Reset();
79  
# Line 86 | Line 86 | void mithep::PublisherMod<T>::Process()
86   }
87  
88   //--------------------------------------------------------------------------------------------------
89 < template<class T>
90 < void mithep::PublisherMod<T>::SlaveBegin()
89 > template<class TIn, class TOut>
90 > void mithep::PublisherMod<TIn, TOut>::SlaveBegin()
91   {
92    // Request the branch to be published. Depending on the user's decision publish the array.
93  
# Line 97 | Line 97 | void mithep::PublisherMod<T>::SlaveBegin
97      fPublicName = fBranchName;
98  
99    if (!GetPubPerEvent()) {
100 <    fColOut = new mithep::ObjArray<T>(0, GetPublicName());
100 >    fColOut = new mithep::ObjArray<TOut>(0, GetPublicName());
101      PublishObj(fColOut);
102    }
103   }
104  
105   //--------------------------------------------------------------------------------------------------
106 < template<class T>
107 < void mithep::PublisherMod<T>::SlaveTerminate()
106 > template<class TIn, class TOut>
107 > void mithep::PublisherMod<TIn, TOut>::SlaveTerminate()
108   {
109    // Cleanup in case objects are published only once.
110  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines