Removing old digitizers (Laurent)
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Oct 2006 15:57:14 +0000 (15:57 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Oct 2006 15:57:14 +0000 (15:57 +0000)
MUON/AliMUONDigitizer.cxx [deleted file]
MUON/AliMUONDigitizer.h [deleted file]
MUON/AliMUONDigitizerv2.cxx [deleted file]
MUON/AliMUONDigitizerv2.h [deleted file]
MUON/AliMUONSDigitizerv1.cxx [deleted file]
MUON/AliMUONSDigitizerv1.h [deleted file]
MUON/AliMUONTransientDigit.cxx [deleted file]
MUON/AliMUONTransientDigit.h [deleted file]

diff --git a/MUON/AliMUONDigitizer.cxx b/MUON/AliMUONDigitizer.cxx
deleted file mode 100644 (file)
index 8e7fdbf..0000000
+++ /dev/null
@@ -1,567 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * 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$ */
-
-#include "AliMUONDigitizer.h"
-#include "AliMUONConstants.h"
-#include "AliMUONSegmentation.h"
-#include "AliMUONHitMapA1.h"
-#include "AliMUON.h"
-#include "AliMUONLoader.h"
-#include "AliMUONConstants.h"
-#include "AliMUONTransientDigit.h"
-
-#include "AliMpDEIterator.h"
-
-#include "AliLog.h"
-#include "AliRun.h"
-#include "AliRunDigitizer.h"
-#include "AliRunLoader.h"
-
-/////////////////////////////////////////////////////////////////////////////////////
-//
-// AliMUONDigitizer should be base abstract class of all digitisers in the MUON 
-// module. It implements the common functionality of looping over input streams
-// filling the fTDList and writing the fTDList to the output stream. 
-// Inheriting digitizers need to override certain methods to choose and initialize
-// the correct input and output trees, apply the correct detector response if any
-// and implement how the transient digits are generated from the input stream.
-//
-/////////////////////////////////////////////////////////////////////////////////////
-
-ClassImp(AliMUONDigitizer)
-
-//___________________________________________
-AliMUONDigitizer::AliMUONDigitizer() : 
-       AliDigitizer(),
-       fRunLoader(0),
-       fGime(0),
-       fMUON(0),
-       fMUONData(0),
-       fHitMap(0),
-       fTDList(0),
-       fTDCounter(0),
-       fMask(0),
-       fSignal(0),
-       fSegmentation(0)
-{
-/// Default constructor.
-/// Initializes all pointers to NULL.
-}
-
-//___________________________________________
-AliMUONDigitizer::AliMUONDigitizer(AliRunDigitizer* manager) : 
-       AliDigitizer(manager),
-       fRunLoader(0),
-       fGime(0),
-       fMUON(0),
-       fMUONData(0),
-       fHitMap(0),
-       fTDList(0),
-       fTDCounter(0),
-       fMask(0),
-       fSignal(0),
-       fSegmentation(0)
-{
-/// Constructor which should be used rather than the default constructor.
-/// Initializes all pointers to NULL.
-}
-
-//___________________________________________
-AliMUONDigitizer::~AliMUONDigitizer() 
-{
-/// Destructor
-
-  if (fMUONData)
-    delete fMUONData;
-
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizer::Init()
-{
-/// Initialize - Does nothing. 
-
-  return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::Exec(Option_t* /*option*/)
-{
-/// The main work loop starts here. 
-/// The digitization process is broken up into two steps: 
-/// 1) Loop over input streams and create transient digits from the input.
-///    Done in GenerateTransientDigits()
-/// 2) Loop over the generated transient digits and write them to the output
-///    stream. Done in CreateDigits()
-
-       AliDebug(1, "Running digitiser.");
-
-       if (fManager->GetNinputs() == 0)
-       {
-               AliWarning("No inputs set, nothing to do.");
-               return;
-       }
-
-       if (!FetchLoaders(fManager->GetInputFolderName(0), fRunLoader, fGime) ) return;
-       if (! FetchGlobalPointers(fRunLoader) ) return;
-
-       InitArrays();
-       
-       AliDebug(2, Form("Event Number is %d.", fManager->GetOutputEventNr()));
-
-       // Loop over files to merge and to digitize
-       fSignal = kTRUE;
-       for (Int_t inputFile = 0; inputFile < fManager->GetNinputs(); inputFile++)
-       {
-               fMask = fManager->GetMask(inputFile);
-               AliDebug(2, Form("Digitising folder %d, with fMask = %d: %s", inputFile, fMask,
-                            (const char*)fManager->GetInputFolderName(inputFile)));
-
-               if (inputFile != 0)
-                       // If this is the first file then we already have the loaders loaded.
-                       if (! FetchLoaders(fManager->GetInputFolderName(inputFile), fRunLoader, fGime) )
-                               continue;
-               else
-                       // If this is not the first file then it is assumed to be background.
-                       fSignal = kFALSE;
-
-               if (! InitInputData(fGime) ) continue;
-               GenerateTransientDigits();
-               CleanupInputData(fGime);
-       }
-
-       Bool_t ok = FetchLoaders(fManager->GetOutputFolderName(), fRunLoader, fGime);
-       if (ok) ok = InitOutputData(fGime);
-       if (ok) CreateDigits();
-       if (ok) CreateTrigger();
-       if (ok) CleanupOutputData(fGime);
-
-       CleanupArrays();
-       CleanupTriggerArrays();
-}
-
-//--------------------------------------------------------------------------
-void AliMUONDigitizer::AddOrUpdateTransientDigit(AliMUONTransientDigit* mTD)
-{
-/// Checks to see if the transient digit exists in the corresponding fHitMap.
-/// If it does then the digit is updated otherwise it is added. 
-
-       if (ExistTransientDigit(mTD)) 
-       {
-               UpdateTransientDigit(mTD);
-               delete mTD;  // The new digit can be deleted because it was not added.
-       }
-       else 
-               AddTransientDigit(mTD);
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::UpdateTransientDigit(AliMUONTransientDigit* mTD)
-{
-/// Update the transient digit that is already in the fTDList by adding the new
-/// transient digits charges and track lists to the existing one.
-
-       AliDebug(4,Form( "Updating transient digit 0x%X", (void*)mTD));
-       // Choosing the maping of the cathode plane of the chamber:
-       Int_t detElemId =  mTD->DetElemId();
-
-       Int_t iNchCpl= fNDetElemId[detElemId] + (mTD->Cathode()-1) * AliMUONConstants::NDetElem();
-
-       AliMUONTransientDigit *pdigit = 
-               static_cast<AliMUONTransientDigit*>( fHitMap[iNchCpl]->GetHit(mTD->PadX(),mTD->PadY()) );
-
-       // update charge
-       pdigit->AddSignal( mTD->Signal() );
-       pdigit->AddPhysicsSignal( mTD->Physics() );  
-       
-       // update list of tracks
-       Int_t ntracks = mTD->GetNTracks();
-       if (ntracks > kMAXTRACKS)  // Truncate the number of tracks to kMAXTRACKS if we have to.
-       {
-               AliDebug(1,Form( 
-                       "TransientDigit returned the number of tracks to be %d, which is bigger than kMAXTRACKS.",
-                       ntracks));
-               AliDebug(1,Form( "Reseting the number of tracks to be %d.", kMAXTRACKS));
-               ntracks = kMAXTRACKS;
-       }
-       
-       for (Int_t i = 0; i < ntracks; i++)
-       {
-               pdigit->UpdateTrackList( mTD->GetTrack(i), mTD->GetCharge(i) );
-       }
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::AddTransientDigit(AliMUONTransientDigit* mTD)
-{
-/// Adds the transient digit to the fTDList and sets the appropriate entry
-/// in the fHitMap arrays. 
-
-       AliDebug(4,Form( "Adding transient digit 0x%X", (void*)mTD));
-       // Choosing the maping of the cathode plane of the chamber:
-
-       Int_t detElemId =  mTD->DetElemId();
-       Int_t iNchCpl= fNDetElemId[detElemId] + (mTD->Cathode()-1) * AliMUONConstants::NDetElem();
-
-       fTDList->AddAtAndExpand(mTD, fTDCounter);
-       if (iNchCpl>-1 && iNchCpl<2*AliMUONConstants::NDetElem()) {
-         fHitMap[iNchCpl]->SetHit( mTD->PadX(), mTD->PadY(), fTDCounter);
-         fTDCounter++;
-       }
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizer::ExistTransientDigit(AliMUONTransientDigit* mTD)
-{
-/// Checks if the transient digit already exists on the corresponding fHitMap.
-/// i.e. is there a transient digit on the same chamber, cathode and pad position 
-/// as mTD. If yes then kTRUE is returned else kFASLE is returned.
-
-       // Choosing the maping of the cathode plane of the chamber:
-       Int_t detElemId =  mTD->DetElemId();
-
-       Int_t iNchCpl= fNDetElemId[detElemId] + (mTD->Cathode()-1) *AliMUONConstants::NDetElem() ;
-
-       //      Int_t iNchCpl= mTD->Chamber() + (mTD->Cathode()-1) * AliMUONConstants::NCh();
-       if (iNchCpl>-1 && iNchCpl<2*AliMUONConstants::NDetElem())
-         return( fHitMap[iNchCpl]->TestHit(mTD->PadX(), mTD->PadY()) );
-       else return kFALSE;
-}
-
-//-----------------------------------------------------------------------
-void AliMUONDigitizer::CreateDigits()
-{
-/// Loops over the fTDList for each cathode, gets the correct signal for the 
-/// digit and adds the new digit to the output stream.
-
-       fTDList->Sort(); // sort by idDE
-        AliDebug(2, "Creating digits...");
-       //      for (Int_t icat = 0; icat < 2; icat++) {
-
-          Int_t digitindex[14] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-         //
-         // Filling Digit List
-         Int_t nentries = fTDList->GetEntriesFast();
-         for (Int_t nent = 0; nent < nentries; nent++) {
-
-           AliMUONTransientDigit* td = (AliMUONTransientDigit*)fTDList->At(nent);
-           if (td == NULL) continue; 
-                       
-           // Must be the same cathode, otherwise we will fill a mixture
-           // of digits from both cathodes.
-           //if (icat != td->Cathode() - 1) continue;
-                       
-           AliDebug(3,Form( "Creating digit from transient digit 0x%X", (void*)td));
-
-           Int_t q = GetSignalFrom(td);
-           if (q > 0) {
-             Int_t chamber = td->Chamber();
-             if (0 <= chamber && chamber <= 13 )
-               AddDigit(td, q, digitindex[chamber]++);
-             else
-               AliError(Form("Invalid chamber %d\n",chamber));
-           }
-         }
-         FillOutputData();
-         //    }
-         fTDCounter = 0;
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::AddDigit(
-               AliMUONTransientDigit* td, Int_t responseCharge,
-               Int_t digitindex
-       )
-{
-/// Prepares the digits, track and charge arrays in preparation for a call to
-/// AddDigit(Int_t, Int_t[kMAXTRACKS], Int_t[kMAXTRACKS], Int_t[6])
-/// This method is called by CreateDigits() whenever a new digit needs to be added
-/// to the output stream trees.
-/// The responseCharge value is used as the Signal of the new digit. 
-/// The OnWriteTransientDigit method is also called just before the adding the 
-/// digit to allow inheriting digitizers to be able to do some specific processing 
-/// at this point. 
-
-       Int_t tracks[kMAXTRACKS];
-       Int_t charges[kMAXTRACKS];
-       Int_t digits[7];
-      
-       digits[0] = td->PadX();
-       digits[1] = td->PadY();
-       digits[2] = td->Cathode() - 1;
-       digits[3] = responseCharge;
-       digits[4] = td->Physics();
-       digits[5] = td->Hit();
-       digits[6] =  td->DetElemId();
-
-       Int_t nptracks = td->GetNTracks();
-       if (nptracks > kMAXTRACKS) {
-
-         AliDebug(1, Form(
-                          "TransientDigit returned the number of tracks to be %d, which is bigger than kMAXTRACKS.",
-                          nptracks));
-         AliDebug(1, Form("Reseting the number of tracks to be %d.", kMAXTRACKS));
-         nptracks = kMAXTRACKS;
-       }
-       
-       for (Int_t i = 0; i < nptracks; i++) {
-
-         tracks[i]   = td->GetTrack(i);
-         charges[i]  = td->GetCharge(i);
-       }
-
-       // Sort list of tracks according to charge
-       SortTracks(tracks,charges,nptracks);
-
-       if (nptracks < kMAXTRACKS ) {
-
-         for (Int_t i = nptracks; i < kMAXTRACKS; i++) {
-           tracks[i]  = -1;
-           charges[i] = 0;
-         }
-       }
-
-       AliDebug(4,Form( "Adding digit with charge %d.", responseCharge));
-
-       OnWriteTransientDigit(td);
-       AddDigit(td->Chamber(), tracks, charges, digits);
-       AddDigitTrigger(td->Chamber(), tracks, charges, digits, digitindex);
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::OnCreateTransientDigit(AliMUONTransientDigit* /*digit*/, TObject* /*source_object*/)
-{
-/// Does nothing.
-///
-/// This is derived by Digitisers that want to trace which digits were made from
-/// which hits.
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::OnWriteTransientDigit(AliMUONTransientDigit* /*digit*/)
-{
-/// Does nothing.
-///
-/// This is derived by Digitisers that want to trace which digits were made from
-/// which hits.
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizer::FetchLoaders(const char* foldername, AliRunLoader*& runloader, AliMUONLoader*& muonloader)
-{
-/// Fetches the run loader from the current folder, specified by 'foldername'. 
-/// The muon loader is then loaded from the fetched run loader. 
-/// kTRUE is returned if no error occurred otherwise kFALSE is returned. 
-
-       AliDebug(3, Form("Fetching run loader and muon loader from folder: %s", foldername));
-
-       runloader = AliRunLoader::GetRunLoader(foldername);
-       if (runloader == NULL)
-       {
-               AliError(Form("RunLoader not found in folder: %s", foldername));
-               return kFALSE; 
-       }                                                                                       
-       muonloader = (AliMUONLoader*) runloader->GetLoader("MUONLoader");
-       if (muonloader == NULL) 
-       {
-               AliError(Form("MUONLoader not found in folder: %s", foldername));
-               return kFALSE; 
-       }
-       return kTRUE;
-
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizer::FetchGlobalPointers(AliRunLoader* runloader)
-{
-/// Fetches the AliRun object into the global gAlice pointer from the specified
-/// run loader. The AliRun object is loaded into memory using the run loader if 
-/// not yet loaded. The MUON module object is then loaded from gAlice and 
-/// AliMUONData fetched from the MUON module. 
-/// kTRUE is returned if no error occurred otherwise kFALSE is returned. 
-
-        AliDebug(3, Form("Fetching gAlice, MUON module and AliMUONData from runloader 0x%X.",
-                       (void*)runloader
-                   ));
-
-       if (runloader->GetAliRun() == NULL) runloader->LoadgAlice();
-       gAlice = runloader->GetAliRun();
-       if (gAlice == NULL)
-       {
-               AliError(Form("Could not find the AliRun object in runloader 0x%X.", (void*)runloader));
-               return kFALSE;
-       }
-       fMUON = (AliMUON*) gAlice->GetDetector("MUON");
-       if (fMUON == NULL)
-       {
-               AliError(Form("Could not find the MUON module in runloader 0x%X.", (void*)runloader));
-               return kFALSE;
-       }
-
-       AliMUONLoader *muonloader = (AliMUONLoader*) runloader->GetLoader("MUONLoader");
-       if (muonloader == NULL) 
-       {
-               AliError( "MUONLoader not found ");
-               return kFALSE; 
-       }
-
-
-       if (fMUONData == NULL) fMUONData = new AliMUONData(muonloader,"MUON","MUON");
-       if (fMUONData == NULL)
-       {
-               AliError(Form("Could not find AliMUONData object in runloader 0x%X.", (void*)runloader));
-               return kFALSE;
-       }
-
-       return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::InitArrays()
-{
-/// Creates a new fTDList object. 
-/// Also creates an array of 2 * chamber_number AliMUONHitMapA1 objects
-/// in the fHitMaps array. Each one is set to a chamber and cathode
-/// specific segmentation model. 
-///
-/// Note: the fTDList and fHitMap arrays must be NULL before calling this method.
-
-    AliDebug(2, "Initialising internal arrays.");
-    AliDebug(4, "Creating transient digits list.");
-    fTDList = new TObjArray;
-       
-    // Array of pointer of the AliMUONHitMapA1:
-    //  two HitMaps per chamber, or one HitMap per cahtode plane
-    fHitMap = new AliMUONHitMapA1* [2*AliMUONConstants::NDetElem()];
-    for (Int_t i=0; i<2*AliMUONConstants::NDetElem(); i++) fHitMap[i] = 0x0;
-
-    Int_t k = 0;
-    Int_t idDE;
-
-    for (Int_t i = 0; i < AliMUONConstants::NCh(); i++) {
-
-
-      AliDebug(4,Form( "Creating hit map for chamber %d, cathode 1.", i+1));
-
-      AliMUONSegmentation* segmentation = fMUON->GetSegmentation();
-
-      // Loop over detection elements
-      AliMpDEIterator it;
-      for ( it.First(i+1); !it.IsDone(); it.Next() ) { 
-        
-       idDE = it.CurrentDE();
-       fNDetElemId[idDE] = k;
-
-        AliMUONGeometrySegmentation* c1Segmentation 
-          = segmentation->GetModuleSegmentationByDEId(idDE, 0); // Cathode plane 1
-        Int_t npx1 = c1Segmentation->Npx(idDE)+1;
-        Int_t npy1 = c1Segmentation->Npy(idDE)+1;
-       fHitMap[k] = new AliMUONHitMapA1(npx1, npy1, fTDList); 
-     
-        AliMUONGeometrySegmentation* c2Segmentation 
-          = segmentation->GetModuleSegmentationByDEId(idDE, 1); // Cathode plane 1
-        Int_t npx2 = c2Segmentation->Npx(idDE)+1;
-        Int_t npy2 = c2Segmentation->Npy(idDE)+1;
-       fHitMap[k+AliMUONConstants::NDetElem()] = new AliMUONHitMapA1(npx2, npy2, fTDList);
-       k++;
-      }
-    }
-}
-//------------------------------------------------------------------------
-void AliMUONDigitizer::CleanupArrays()
-{
-/// The arrays fTDList and fHitMap are deleted and the pointers set to NULL.
-
-       AliDebug(2, "Deleting internal arrays.");
-       for(Int_t i = 0; i < 2*AliMUONConstants::NDetElem(); i++) {
-               delete fHitMap[i];
-       }
-       delete [] fHitMap;
-       fHitMap = NULL;
-       
-       AliDebug(4, "Deleting transient digits list.");
-       fTDList->Delete();
-       delete fTDList;
-       fTDList = NULL;
-
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizer::SortTracks(Int_t *tracks, Int_t *charges, Int_t ntr) const
-{
-/// Sort the list of tracks contributing to a given digit
-/// Only the 3 most significant tracks are actually sorted
-
-       if (ntr <= 1) return;
-
-       //
-       //  Loop over signals, only 3 times
-       //
-
-       Int_t qmax;
-       Int_t jmax;
-       Int_t idx[3] = {-2,-2,-2};
-       Int_t jch[3] = {-2,-2,-2};
-       Int_t jtr[3] = {-2,-2,-2};
-       Int_t i, j, imax;
-
-       if (ntr < 3) imax = ntr;
-       else imax=3;
-       
-       for(i = 0; i < imax; i++)
-        {
-          qmax=0;
-          jmax=0;
-
-          for(j = 0; j < ntr; j++)
-            {
-              if (     (i == 1 && j == idx[i-1]) || 
-                       (i == 2 && (j == idx[i-1] || j == idx[i-2]))
-                       ) 
-                continue;
-
-              if(charges[j] > qmax) 
-                {
-                  qmax = charges[j];
-                  jmax = j;
-                }       
-            } 
-
-          if(qmax > 0)
-            {
-              idx[i] = jmax;
-              jch[i] = charges[jmax]; 
-              jtr[i] = tracks[jmax]; 
-            }
-
-        } 
-
-       for(i = 0; i < 3; i++)
-        {
-          if (jtr[i] == -2) 
-            {
-              charges[i] = 0;
-              tracks[i] = 0;
-            } 
-          else 
-            {
-              charges[i] = jch[i];
-              tracks[i] = jtr[i];
-            }
-        }
-}
diff --git a/MUON/AliMUONDigitizer.h b/MUON/AliMUONDigitizer.h
deleted file mode 100644 (file)
index 8bc8e91..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-#ifndef ALIMUONDIGITIZER_H
-#define ALIMUONDIGITIZER_H
-/* Copyright(c) 1998-2001, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-// Revision of includes 07/05/2004
-
-/// \ingroup sim
-/// \class AliMUONDigitizer
-/// \brief Class for MUON merging/digitization
-
-#include "AliDigitizer.h"
-#include "AliMUONDigit.h"
-
-class AliRunDigitizer;
-class AliRunLoader;
-class AliMUONHitMapA1;
-class AliMUON;
-class AliMUONData;
-class AliMUONLoader;
-class AliMUONTransientDigit;
-
-static const Int_t kMAXTRACKS=10;
-
-class AliMUONDigitizer : public AliDigitizer
-{
-public:
-
-       /* Default constructor initializes all the internal pointers to NULL.
-        */
-       AliMUONDigitizer();
-       
-       /* Constructor initialises all the internal pointers to NULL and
-          sets this digitizers manager to the one specified.
-        */
-       AliMUONDigitizer(AliRunDigitizer * manager);
-
-       // Destructor
-       virtual ~AliMUONDigitizer();
-
-       // The Init method does nothing.
-       // All initialization happens in Exec at the moment.  
-       virtual Bool_t Init();
-
-       // Override the TTask Exec method.
-       virtual void Exec(Option_t* option = 0);
-
-protected:
-       /* Digitizers inheriting from AliMUONDigitizer should implement this abstract method 
-          so that TransientDigit objects are generated and put onto the fTDList.
-          The method would be implemented as some loop over the input stream. The data can be
-          fetched from the fMUONData pointer. To add to the fTDList once should use code similar
-          to the following:
-          
-            TObject* source_object;  // Assume the object from which the transient digit
-                                     // is created is already initialized at this point.
-            AliMUONTransientDigit* td = new AliMUONTransientDigit();
-            // Initialize the transient digit.
-            // ...
-            
-            // The following line of code is required to have working digitisers that want
-            // to store information about which digits were created from which hits. 
-            OnCreateTransientDigit(td, source_object);
-            
-            AddOrUpdateTransientDigit(td);  // Adds to the fTDList preventing duplicates.
-        */
-       virtual void GenerateTransientDigits() = 0;
-
-       // Loops over the fTDList of transient digits to write them to the output stream.
-       virtual void CreateDigits();
-
-       /* Inheriting digitizers should implement this method to prepare the fMUONData
-          object before GenerateTransientDigits() is called. 
-          If the initialization was successful then kTRUE should be returned otherwise
-          kFALSE should be returned. 
-        */
-       virtual Bool_t InitInputData(AliMUONLoader* muonloader) = 0;
-       
-       /* This method should be overridden to undo/cleanup what was done in the 
-          InitInputData method call.
-        */
-       virtual void CleanupInputData(AliMUONLoader* muonloader) = 0;
-
-       /* Inheriting digitizers should implement this method to prepare the fMUONData
-          object before CreateDigits() is called.
-          If the initialization was successful then kTRUE should be returned otherwise
-          kFALSE should be returned. 
-        */
-       virtual Bool_t InitOutputData(AliMUONLoader* muonloader) = 0;
-
-       /* When all the data is added to the fMUONData object and the trees need to be
-          filled then this method is called by CreateDigits(). 
-          Thus code like
-              fMUONData->Fill("D")
-          should go into this method.
-        */
-       virtual void FillOutputData() = 0;
-       
-       /* This method should be overridden to undo/cleanup what was done in the 
-          InitOutputData method call.
-        */
-       virtual void CleanupOutputData(AliMUONLoader* muonloader) = 0;
-
-       /* This is called by CreateDigits when it wants the Signal value that will be written
-          to the output stream. Inheriting digitizers can override this to apply some kind 
-          of detector response.
-        */
-       virtual Int_t GetSignalFrom(AliMUONTransientDigit* td) = 0;
-
-       /* Should be overridden by inheriting digitizers such that this method adds the digits
-          to the correct tree. 
-        */
-       virtual void AddDigit(Int_t chamber, Int_t tracks[kMAXTRACKS], Int_t charges[kMAXTRACKS], Int_t digits[7]) = 0;
-
-       /* Should be called by GenerateTransientDigits() when a new transient digit is generated
-          form a source object from the input stream. The source object could be an AliMUONHit
-          or AliMUONSDigit for example.
-        */ 
-       virtual void OnCreateTransientDigit(AliMUONTransientDigit* /*digit*/, TObject* /*source_object*/);
-
-       /* Called by AddDigit(AliMUONTransientDigit*, Int_t) when transient digit is added to the 
-          fMUONData object ready for writing to the data trees.
-        */ 
-       virtual void OnWriteTransientDigit(AliMUONTransientDigit* digit);
-       
-       // Wrapper method for AddDigit(Int_t, Int_t[kMAXTRACKS], Int_t[kMAXTRACKS], Int_t[6])
-       void AddDigit(AliMUONTransientDigit* td, Int_t responseCharge, Int_t digitindex);
-
-       // Creates a new fTDList object, and creates and fills the fHitMap arrays.
-       // Note: this method assumes the array pointers are NULL when calling this method.
-       void InitArrays();
-       
-       // Frees the memory allocated for fTDList and the fHitMap arrays.
-       void CleanupArrays();
-
-       /* Gets the run loader and muon loader pointers from the given folder name. If an error 
-          occurred then kFALSE is returned else kTRUE on success. 
-        */
-       Bool_t FetchLoaders(const char* foldername, AliRunLoader*& runloader, AliMUONLoader*& muonloader);
-
-       /* Gets the gAlice, and MUON module pointers from the specified run loader. If an error 
-          occurred then kFALSE is returned else kTRUE on success. 
-        */
-       Bool_t FetchGlobalPointers(AliRunLoader* runloader);
-
-       // Adds the transient digit uniquely to the fTDList.
-       void AddOrUpdateTransientDigit(AliMUONTransientDigit* mTD);
-       
-       // Updates a TransientDigit in fTDList
-       void UpdateTransientDigit(AliMUONTransientDigit * mTD);
-       
-       // Adds the new TransientDigit to fTDList
-       void AddTransientDigit(AliMUONTransientDigit * mTD);
-
-       // Verify that a TransientDigit already exists.
-       Bool_t ExistTransientDigit(AliMUONTransientDigit * mTD); 
-
-       // Sorts the 3 most significant tracks.    
-       void SortTracks(Int_t *tracks, Int_t *charges, Int_t ntr) const;
-
-       // trigger purpose
-       virtual void CreateTrigger() = 0;
-       virtual void CleanupTriggerArrays() = 0;
-       virtual void FillTriggerOutput() = 0;
-       virtual void AddDigitTrigger(
-                       Int_t chamber, Int_t tracks[kMAXTRACKS],
-                       Int_t charges[kMAXTRACKS], Int_t digits[6],
-                       Int_t digitindex ) = 0;
-
-       AliRunLoader* fRunLoader;         //!< Global run loader.
-       AliMUONLoader* fGime;             //!< MUON specific loader.
-       AliMUON* fMUON;                   //!< Pointer to MUON module.
-       AliMUONData* fMUONData;           //!< muon data interface
-
-       AliMUONHitMapA1 **fHitMap;    //!< pointer to array of pointers to hitmaps
-       TObjArray *fTDList;           //!< list of AliMUONTransientDigits
-       Int_t fTDCounter;             //!< nr. of AliMUONTransientDigit
-       Int_t fMask;                  //!< mask dependent on input file
-       Bool_t fSignal;               //!< kTRUE if signal file is processed 
-       Int_t fSegmentation;          //!< segmentation type 1=old, 2=new;
-       Int_t fNDetElemId[1500];      //!< detection element number array 
-
-
-private:
-        AliMUONDigitizer(const AliMUONDigitizer& rhs);
-        AliMUONDigitizer& operator=(const AliMUONDigitizer& rhs);
-
-       ClassDef(AliMUONDigitizer, 1)   // MUON merging/digitization
-};    
-#endif
diff --git a/MUON/AliMUONDigitizerv2.cxx b/MUON/AliMUONDigitizerv2.cxx
deleted file mode 100644 (file)
index 638d6b0..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * 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$ */
-
-//  Do the Digitization (Digit) from summable Digits (SDigit)
-//  Allow the merging of signal file with background file(s).
-
-/////////////////////////////////////////////////////////////////////////////////
-//
-// AliMUONDigitizerv2 digitizes digits from s-digits. 
-// Merging is allowed from multiple input streams. The first input stream is 
-// assumed to be the signal and all other input streams as assumed to be 
-// background.
-// Chamber response is applied to the digits identically to AliMUONDigitizerv1.
-//
-/////////////////////////////////////////////////////////////////////////////////
-
-#include "AliMUON.h"
-#include "AliMUONData.h"
-#include "AliMUONLoader.h"
-#include "AliMUONConstants.h"
-#include "AliMUONChamber.h"
-#include "AliMUONDigit.h"
-#include "AliMUONDigitizerv2.h"
-#include "AliMUONTransientDigit.h"
-#include "AliLog.h"
-
-ClassImp(AliMUONDigitizerv2)
-
-//___________________________________________
-AliMUONDigitizerv2::AliMUONDigitizerv2() : AliMUONDigitizer()
-{
-/// Default ctor - don't use it
-}
-
-//___________________________________________
-AliMUONDigitizerv2::AliMUONDigitizerv2(AliRunDigitizer* manager) : AliMUONDigitizer(manager)
-{
-/// ctor which should be used
-}
-
-//___________________________________________
-AliMUONDigitizerv2::~AliMUONDigitizerv2()
-{
-/// Destructor
-}
-
-//-----------------------------------------------------------------------
-void AliMUONDigitizerv2::GenerateTransientDigits()
-{
-/// Loop over all chambers and s-digits in the input stream and create 
-/// AliMUONTransientDigit objects from them. These are then added to fTDList.
-
-       AliDebug(2,"Generating transient digits using treeH = 0x%X");
-       //
-       // Loop over SDigits
-       Int_t ndig, k;
-       AliMUONDigit* sDigit;
-       TClonesArray* muonSDigits;
-       for (Int_t ich = 0; ich < AliMUONConstants::NCh(); ich++)  // loop over chamber
-       {
-               fMUONData->ResetSDigits();
-               fMUONData->GetSDigits();
-               muonSDigits = fMUONData->SDigits(ich); 
-               ndig = muonSDigits->GetEntriesFast();
-               for (k = 0; k < ndig; k++)
-               {
-                       sDigit = (AliMUONDigit*) muonSDigits->UncheckedAt(k);
-                       MakeTransientDigitFromSDigit(ich,sDigit);
-               }
-//             fMUONData->ResetSDigits();
-//             fMUONData->GetCathodeS(1);
-//             muonSDigits = fMUONData->SDigits(ich); 
-//             ndig=muonSDigits->GetEntriesFast();
-//             for (k = 0; k < ndig; k++)
-//             {
-//                     sDigit = (AliMUONDigit*) muonSDigits->UncheckedAt(k);
-//                     MakeTransientDigitFromSDigit(ich,sDigit);
-//             }
-       } // SDigits loop, end loop over chamber
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizerv2::MakeTransientDigitFromSDigit(Int_t iChamber, AliMUONDigit* sDigit)
-{
-/// Makes a transient digit from the specified s-digit from the specified chamber. 
-/// Once the digit is created it is added to the fTDList.
-
-       AliDebug(4,Form("Making transient digit from s-digit for chamber %d.", iChamber));
-       Int_t digits[7];
-       //
-       // Creating a new TransientDigits from SDigit
-       digits[0] = sDigit->PadX();  // Padx of the Digit
-       digits[1] = sDigit->PadY();  // Pady of the Digit
-       digits[2] = sDigit->Cathode()+1;  // Cathode plane
-       digits[3] = sDigit->Signal();  // Induced charge in the Pad
-       if (fSignal)
-               digits[4] = sDigit->Signal();
-       else
-               digits[4] = 0;
-               
-       digits[5] = sDigit->Hit();    // Hit number in the list
-       digits[6] = sDigit->DetElemId();
-
-       AliDebug(5,Form("Made digit from sDigit 0x%X: PadX %d\tPadY %d\tPlane %d\tCharge %d\tHit %d\tidDE %d",
-                       (void*)sDigit, digits[0], digits[1], digits[2], digits[3], digits[5], digits[6]));
-
-       
-       AliMUONTransientDigit* mTD = new AliMUONTransientDigit(iChamber, digits);
-       // Copy list of tracks and trackcharge
-       for(Int_t itrack = 0; itrack < sDigit->Ntracks(); ++itrack)
-       {
-               Int_t track = sDigit->Track(itrack);
-               if (track < 0) break;  // Check if we reached the end of the track list.
-               mTD->AddToTrackList( track + fMask, sDigit->TrackCharge(itrack) );
-       }
-
-       OnCreateTransientDigit(mTD, sDigit);
-       AddOrUpdateTransientDigit(mTD);
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizerv2::AddDigit(Int_t chamber, Int_t tracks[kMAXTRACKS], Int_t charges[kMAXTRACKS], Int_t digits[7])
-{
-/// Override to add new digits to the digits tree TreeD.
-       fMUONData->AddDigit(chamber, tracks, charges, digits);   
-}
-
-//------------------------------------------------------------------------
-Int_t AliMUONDigitizerv2::GetSignalFrom(AliMUONTransientDigit* td)
-{
-/// Derived to apply the chamber response model to the digit. 
-/// Using AliMUONChamber::ResponseModel() for this.
-
-       AliDebug(4, "Applying response of chamber to TransientDigit signal.");
-       //
-       //  Digit Response (noise, threshold, saturation, ...)
-       Int_t q = td->Signal(); 
-       AliMUONChamber& chamber = fMUON->Chamber(td->Chamber());
-       AliMUONResponse* response = chamber.ResponseModel();
-       q = response->DigitResponse(q, td);
-  if ( q >= response->Saturation() )
-  {
-    td->Saturated(kTRUE);
-  }
-       return q;
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizerv2::InitInputData(AliMUONLoader* muonloader)
-{
-/// Overridden to initialize fMUONData to read from the s-digits tree TreeS. 
-/// If the s-digits are not loaded then the muon loader is used to load the
-/// s-digits into memory.
-
-       AliDebug(3,"Loading s-digits in READ mode and setting the tree address.");
-       fMUONData->SetLoader(muonloader);
-
-       if (muonloader->TreeS() == NULL)
-       {
-               muonloader->LoadSDigits("READ");
-               if (muonloader->TreeS() == NULL)
-               {
-                       AliError("Can not load the s-digits tree.");
-                       return kFALSE;
-               }
-       }
-
-       fMUONData->SetTreeAddress("S");
-       return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizerv2::CleanupInputData(AliMUONLoader* muonloader)
-{
-/// Overridden to release and unload s-digits from memory.
-
-       AliDebug(3,"Releasing loaded s-digits.");
-       fMUONData->ResetSDigits();
-       muonloader->UnloadSDigits();
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONDigitizerv2::InitOutputData(AliMUONLoader* muonloader)
-{
-/// Derived to initialize the output digits tree TreeD, create it if necessary
-/// and sets the fMUONData tree address to treeD.
-
-       AliDebug(3, "Creating digits branch and setting the tree address.");
-
-       fMUONData->SetLoader(muonloader);
-
-       // New branch per chamber for MUON digit in the tree of digits
-       if (muonloader->TreeD() == NULL)
-       {
-               muonloader->MakeDigitsContainer();
-               if (muonloader->TreeD() == NULL)
-               {
-                       AliError("Could not create TreeD.");
-                       return kFALSE;
-               }
-       }
-
-       fMUONData->MakeBranch("D");
-       fMUONData->SetTreeAddress("D");
-       
-       return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizerv2::FillOutputData()
-{
-/// Derived to fill TreeD and resets the digit array in fMUONData.
-
-       AliDebug(3, "Filling trees with digits.");
-       fMUONData->Fill("D");
-       fMUONData->ResetDigits();
-}
-
-//------------------------------------------------------------------------
-void AliMUONDigitizerv2::CleanupOutputData(AliMUONLoader* muonloader)
-{
-/// Derived to write the digits tree and then unload the digits tree once written.
-
-       AliDebug(3, "Writing digits and releasing pointers.");
-       muonloader->WriteDigits("OVERWRITE");
-       muonloader->UnloadDigits();
-}
-
-
diff --git a/MUON/AliMUONDigitizerv2.h b/MUON/AliMUONDigitizerv2.h
deleted file mode 100644 (file)
index ccc61a0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef ALIMUONDIGITIZERV2_H
-#define ALIMUONDIGITIZERV2_H
-/* Copyright(c) 1998-2001, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-// Revision of includes 07/05/2004
-
-/// \ingroup sim
-/// \class AliMUONDigitizerv2
-/// \brief Class produces Digits from SDigits.
-///
-/// Do the Digitization (Digit) from summable Digits (SDigit)
-/// Allow the merging of signal file with background file(s).
-
-#include "AliMUONDigitizer.h"
-#include "AliMUONDigit.h"
-
-class AliMUONLoader;
-
-class AliMUONDigitizerv2 : public AliMUONDigitizer
-{
-  public:    
-       AliMUONDigitizerv2();
-       virtual ~AliMUONDigitizerv2();
-       
-       // Preferred constructor which assigns the manager object.
-       AliMUONDigitizerv2(AliRunDigitizer * manager);
-
-       // Makes a transient digit from the specified s-digit from the specified chamber.
-       void MakeTransientDigitFromSDigit(Int_t iChamber, AliMUONDigit* sDigit);
-
-       // The following methods are inherited from AliMUONDigitizerv1 and overridden.
-       void GenerateTransientDigits();
-       void AddDigit(Int_t chamber, Int_t tracks[kMAXTRACKS], Int_t charges[kMAXTRACKS], Int_t digits[7]);
-       Bool_t InitInputData(AliMUONLoader* muonloader);
-       void CleanupInputData(AliMUONLoader* muonloader);
-
-       // methods from old AliMUONDigitizerv1
-       Int_t GetSignalFrom(AliMUONTransientDigit* td);
-       Bool_t InitOutputData(AliMUONLoader* muonloader);
-       void CleanupOutputData(AliMUONLoader* muonloader);
-       void FillOutputData();
-
-       ClassDef(AliMUONDigitizerv2, 0) 
-};    
-#endif
-
diff --git a/MUON/AliMUONSDigitizerv1.cxx b/MUON/AliMUONSDigitizerv1.cxx
deleted file mode 100644 (file)
index 3c753ff..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * 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$ */
-
-/////////////////////////////////////////////////////////////////////////////////
-//
-// AliMUONSDigitizerv1 digitizes hits from the input stream into s-digits. 
-// The s-digits are written to the s-digit tree TreeS.
-// The same algorithm is implemented as for AliMUONDigitizerv1 however the
-// chamber response is not applied to the s-digits and we write to TreeS and 
-// not TreeD.
-//
-/////////////////////////////////////////////////////////////////////////////////
-
-#include "AliMUONSDigitizerv1.h"
-#include "AliMUON.h"
-#include "AliMUONLoader.h"
-#include "AliMUONConstants.h"
-#include "AliMUONChamber.h"
-#include "AliMUONData.h"
-#include "AliMUONDigit.h"
-#include "AliMUONHit.h"
-#include "AliMUONTransientDigit.h"
-#include "AliLog.h"
-
-ClassImp(AliMUONSDigitizerv1)
-
-//___________________________________________
-AliMUONSDigitizerv1::AliMUONSDigitizerv1() 
-  : AliMUONDigitizer()
-{
-       // Default ctor - don't use it
-}
-
-//___________________________________________
-AliMUONSDigitizerv1::AliMUONSDigitizerv1(AliRunDigitizer* manager) 
-  : AliMUONDigitizer(manager)
-{
-       // ctor which should be used
-}
-
-//___________________________________________
-AliMUONSDigitizerv1::~AliMUONSDigitizerv1()
-{
-       // Destructor
-}
-
-//-----------------------------------------------------------------------
-void AliMUONSDigitizerv1::GenerateTransientDigits()
-{
-// Loops over all tracks and hits in the current selected event and calls 
-// MakeTransientDigitsFromHit for each hit. 
-// Note: Charge correlation is applied to the tracking chambers. 
-
-       TTree* treeH = fGime->TreeH();
-       AliDebug(2, Form("Generating transient digits using treeH = 0x%X"
-                       , (void*)treeH));
-       //
-       // Loop over tracks
-       Int_t ntracks = (Int_t) treeH->GetEntries();
-       for (Int_t itrack = 0; itrack < ntracks; itrack++) 
-       {
-               AliDebug(3, Form("Processing track %d...", itrack));
-               fMUONData->ResetHits();
-               treeH->GetEvent(itrack);
-               //
-               //  Loop over hits
-               TClonesArray* hits = fMUONData->Hits();
-               for (Int_t ihit = 0; ihit < hits->GetEntriesFast(); ihit++) 
-               {
-                       AliMUONHit* mHit = static_cast<AliMUONHit*>( hits->At(ihit) );
-                       Int_t ichamber = mHit->Chamber()-1;  // chamber number
-                       if (ichamber > AliMUONConstants::NCh()-1) 
-                       {
-                               AliError(Form("Hit 0x%X has a invalid chamber number: %d", ichamber));
-                               continue;
-                       }
-                       //
-                       //Dumping Hit content:
-                       AliDebug(3,Form("Hit %d: chamber = %d\tX = %f\tY = %f\tZ = %f\teloss = %f",
-                                       ihit, mHit->Chamber(), mHit->X(), mHit->Y(), mHit->Z(), mHit->Eloss()
-                                   ));
-                       // 
-                       // Inititializing Correlation
-                       AliMUONChamber& chamber = fMUON->Chamber(ichamber);
-                       chamber.ChargeCorrelationInit();
-//                     if (ichamber < AliMUONConstants::NTrackingCh()) 
-//                     {
-//                             // Tracking Chamber
-//                             // Initialize hit position (cursor) in the segmentation model 
-                         
-//                       chamber.SigGenInit(mHit);
-
-//                     } // else do nothing for Trigger Chambers
-                       
-                       MakeTransientDigitsFromHit(itrack, ihit, mHit);
-               } // hit loop
-       } // track loop      
-}
-
-//--------------------------------------------------------------------------
-void AliMUONSDigitizerv1::MakeTransientDigitsFromHit(Int_t track, Int_t iHit, AliMUONHit * mHit)
-{  
-// This method is called for every hit in an event to generate AliMUONTransientDigits 
-// from the hit and add these to fTDList.
-// The AliMUONChamber::DisIntegration method us used to figure out which pads are 
-// fired for a given hit. We then loop over the fired pads and add an AliMUONTransientDigit
-// for each pad.
-
-       AliDebug(4,Form("Making transient digit for hit number %d.", iHit));
-               
-       //
-       // Calls the charge disintegration method of the current chamber 
-       AliDebug(5,"Calling AliMUONChamber::DisIngtegration...");
-
-       Float_t newdigit[6][500];  // Pad information
-       Int_t nnew=0;              // Number of touched Pads per hit
-       Int_t ichamber = mHit->Chamber()-1;
-       AliMUONChamber& chamber = fMUON->Chamber(ichamber);
-
-       chamber.DisIntegration(mHit, nnew, newdigit);
-
-       // Creating new TransientDigits from hit
-       for(Int_t iTD = 0; iTD < nnew; iTD++) 
-       {
-               Int_t charge;   
-               Int_t digits[7];
-               
-               digits[0] = Int_t(newdigit[1][iTD]);  // Padx of the Digit
-               digits[1] = Int_t(newdigit[2][iTD]);  // Pady of the Digit
-               digits[2] = Int_t(newdigit[5][iTD]);  // Cathode plane
-               digits[3] = Int_t(newdigit[3][iTD]);  // Induced charge in the Pad
-               if (fSignal)
-               { 
-                       charge = digits[3];
-                       digits[4] = Int_t(newdigit[3][iTD]);  // Signal due to physics
-               }
-               else
-               {
-                       charge = digits[3] + fMask;
-                       digits[4] = 0;    // No signal due to physics since this is now background.
-               }
-               digits[5] = iHit+fMask;    // Hit number in the list
-               digits[6] =  mHit->DetElemId();
-
-               AliDebug(5,Form("MakeTransientDigitsFromHit", 
-                               "DisIntegration result %d: PadX %d\tPadY %d\tPlane %d\tCharge %d\tHit %d\tidDE %d",
-                               iTD, digits[0], digits[1], digits[2], digits[3], digits[5], digits[6]));
-
-               AliMUONTransientDigit* mTD = new AliMUONTransientDigit(ichamber, digits);
-               mTD->AddToTrackList(track + fMask, charge);
-
-               OnCreateTransientDigit(mTD, mHit);
-               AddOrUpdateTransientDigit(mTD);
-       }
-}
-
-//------------------------------------------------------------------------
-void AliMUONSDigitizerv1::AddDigit(Int_t chamber, Int_t tracks[kMAXTRACKS], Int_t charges[kMAXTRACKS], Int_t digits[7])
-{
-// Derived to write to the s-digit tree TreeS.
-
-       fMUONData->AddSDigit(chamber, tracks, charges, digits);   
-}
-
-//------------------------------------------------------------------------
-Int_t AliMUONSDigitizerv1::GetSignalFrom(AliMUONTransientDigit* td)
-{
-// Returns the transient digit signal as is without applying the chamber response.
-       AliDebug(4,"Returning TransientDigit signal.");
-       return td->Signal(); 
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONSDigitizerv1::InitOutputData(AliMUONLoader* muonloader)
-{
-// Overridden to initialise the output tree to be TreeS rather than TreeD.
-       AliDebug(3,"Creating s-digits branch and setting the tree address.");
-
-       fMUONData->SetLoader(muonloader);
-
-       // New branch per chamber for MUON digit in the tree of digits
-       if (muonloader->TreeS() == NULL)
-       {
-               muonloader->MakeSDigitsContainer();
-               if (muonloader->TreeS() == NULL)
-               {
-                       AliError("Could not create TreeS.");
-                       return kFALSE;
-               }
-       }
-
-       fMUONData->MakeBranch("S");
-       fMUONData->SetTreeAddress("S");
-       
-       return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONSDigitizerv1::FillOutputData()
-{
-// Overridden to fill TreeS rather than TreeD.
-
-       AliDebug(3,"Filling trees with s-digits.");
-       fMUONData->Fill("S");
-       fMUONData->ResetSDigits();
-}
-
-//------------------------------------------------------------------------
-void AliMUONSDigitizerv1::CleanupOutputData(AliMUONLoader* muonloader)
-{
-// Overridden to write and then cleanup TreeS that was initialised in InitOutputData.
-       AliDebug(3,"Writing s-digits and releasing pointers.");
-       muonloader->WriteSDigits("OVERWRITE");
-       fMUONData->ResetSDigits();
-       muonloader->UnloadSDigits();
-}
-
-//------------------------------------------------------------------------
-Bool_t AliMUONSDigitizerv1::InitInputData(AliMUONLoader* muonloader)
-{
-// Derived to initialise the input to read from TreeH the hits tree. 
-// If the hits are not loaded then we load the hits using the muon loader.
-
-       AliDebug(3, "Loading hits in READ mode and setting the tree address.");
-
-       fMUONData->SetLoader(muonloader);
-
-       if (muonloader->TreeH() == NULL)
-       {
-               muonloader->LoadHits("READ");
-               if (muonloader->TreeH() == NULL)
-               {
-                       AliError("Can not load the hits tree.");
-                       return kFALSE;
-               }
-       }
-
-       fMUONData->SetTreeAddress("H");
-       return kTRUE;
-}
-
-//------------------------------------------------------------------------
-void AliMUONSDigitizerv1::CleanupInputData(AliMUONLoader* muonloader)
-{
-// Derived to release the loaded hits and unload them.
-
-       AliDebug(3, "Releasing loaded hits.");
-       fMUONData->ResetHits();
-       muonloader->UnloadHits();
-}
-
diff --git a/MUON/AliMUONSDigitizerv1.h b/MUON/AliMUONSDigitizerv1.h
deleted file mode 100644 (file)
index 7632425..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef ALIMUONSDIGITIZERV1_H
-#define ALIMUONSDIGITIZERV1_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-// Revision of includes 07/05/2004
-
-/// \ingroup sim
-/// \class AliMUONSDigitizerv1
-/// \brief Class produces SDigits from Hits
-///
-/// Author: J.P Cussonneau Subatech Feb 2004
-
-#include "AliMUONDigitizer.h"
-
-class AliMUONHit;
-
-class AliMUONSDigitizerv1 : public AliMUONDigitizer
-{
-  public:    
-       AliMUONSDigitizerv1();
-       virtual ~AliMUONSDigitizerv1();
-       
-       // Preferred constructor to call which sets the manager.
-       AliMUONSDigitizerv1(AliRunDigitizer * manager);
-
-       // methods from old AliMUONDigitizerv1
-       void MakeTransientDigitsFromHit(Int_t itrack, Int_t ihit, AliMUONHit * mHit);
-       void GenerateTransientDigits();
-
-       void AddDigit(Int_t chamber, Int_t tracks[kMAXTRACKS], Int_t charges[kMAXTRACKS], Int_t digits[7]);
-       Int_t GetSignalFrom(AliMUONTransientDigit* td);
-       Bool_t InitOutputData(AliMUONLoader* muonloader);
-       void FillOutputData();
-       void CleanupOutputData(AliMUONLoader* muonloader);
-
-       // methods from old AliMUONDigitizerv1
-       virtual Bool_t InitInputData(AliMUONLoader* muonloader);
-       virtual void CleanupInputData(AliMUONLoader* muonloader);
-
-       // to disable trigger in SDigitizer
-       void CreateTrigger(){return;}
-       Bool_t FetchTriggerPointer(AliMUONLoader* /*loader*/ ){return kTRUE;}
-       void CleanupTriggerArrays(){return;}
-       void FillTriggerOutput(){return;}
-       void AddDigitTrigger(Int_t /*chamber*/, Int_t* /*tracks[kMAXTRACKS]*/, 
-                            Int_t* /*charges[kMAXTRACKS]*/, Int_t* /*digits[6]*/,
-                             Int_t /*digitindex*/
-               ) {return;}
-
-       ClassDef(AliMUONSDigitizerv1, 0) //Class produces SDigits from Hits
-};    
-#endif
-
diff --git a/MUON/AliMUONTransientDigit.cxx b/MUON/AliMUONTransientDigit.cxx
deleted file mode 100644 (file)
index cc1d9d6..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * 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$ */
-
-// ------------------------------
-// Class AliMUONTransientDigit
-// ------------------------------
-// MUON transient digit
-// Extends AliMUONDigit with a list of contributing tracks
-
-#include <TObjArray.h>
-#include <TVector.h>
-
-#include "AliMUONTransientDigit.h"
-#include "AliLog.h"
-
-/// \cond CLASSIMP
-ClassImp(AliMUONTransientDigit)
-/// \endcond
-
-//____________________________________________________________________________
-AliMUONTransientDigit::AliMUONTransientDigit() :
-  AliMUONDigit(),
-  fChamber(0),
-  fTrackList(0)
-{
-/// Default constructor
-}
-AliMUONTransientDigit::AliMUONTransientDigit(Int_t ich, Int_t *digits) : 
-  AliMUONDigit(digits),
-  fChamber(ich),
-  fTrackList(new TObjArray(5))
-  // 5 is arbitrary number, just to decrease default 16
-{
-/// Creates a MUON digit list object
-}
-
-////////////////////////////////////////////////////////////////////////
-AliMUONTransientDigit::~AliMUONTransientDigit() 
-{
-/// Destructor
-
-  fTrackList->Delete();
-  delete fTrackList;
-}
-
-////////////////////////////////////////////////////////////////////////
-void AliMUONTransientDigit::AddToTrackList(Int_t track, Int_t charge)
-{
-/// Add track to the track list
-
-  TVector *pTrInfo = new TVector(3);
-  TVector &trInfo = *pTrInfo;
-  trInfo(0) = track;
-  trInfo(1) = charge;
-  fTrackList->Add(pTrInfo);
-}
-
-////////////////////////////////////////////////////////////////////////
-void AliMUONTransientDigit::UpdateTrackList(Int_t track, Int_t charge)
-{
-/// Update track charge if track already in the track list,
-/// or add the track to the list
-
-  Int_t lastEntry = fTrackList->GetLast();
-  TVector *pVect = static_cast<TVector*>(fTrackList->At(lastEntry));
-  if ( static_cast<Int_t>((*pVect)(0)) == track) {
-    (*pVect)(1) += charge;  // update charge
-  } else {
-    AddToTrackList(track,charge);
-  }
-}
-
-////////////////////////////////////////////////////////////////////////
-Int_t AliMUONTransientDigit::GetTrack(Int_t i) const
-{
-/// Return \a i th track from the list
-
-  if (i > fTrackList->GetEntriesFast()) return 0;
-  TVector *pVect = static_cast<TVector*>(fTrackList->At(i));
-  return static_cast<Int_t>((*pVect)(0));
-}
-
-
-////////////////////////////////////////////////////////////////////////
-Int_t AliMUONTransientDigit::GetCharge(Int_t i) const
-{
-/// Return the charge of \a i th track in the list
-
-  if (i > fTrackList->GetEntriesFast()) return 0;
-  TVector *pVect = static_cast<TVector*>(fTrackList->At(i));
-  return static_cast<Int_t>((*pVect)(1));
-}
-
diff --git a/MUON/AliMUONTransientDigit.h b/MUON/AliMUONTransientDigit.h
deleted file mode 100644 (file)
index 6cec0d0..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef ALIMUONTRANSIENTDIGIT_H
-#define ALIMUONTRANSIENTDIGIT_H
-
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-// Revision of includes 07/05/2004
-
-/// \ingroup base
-/// \class AliMUONTransientDigit
-/// \brief MUON transient digit
-///
-/// Extends AliMUONDigit with a list of contributing tracks
-
-#include "AliMUONDigit.h"
-
-class TObjArray;
-
-class AliMUONTransientDigit : public AliMUONDigit 
-{
-  public:
-    AliMUONTransientDigit();
-    AliMUONTransientDigit(Int_t rpad, Int_t *digits);
-    virtual ~AliMUONTransientDigit();
-
-          /// Return chamber number
-    Int_t Chamber() const {return fChamber;}
-          /// Return number of tracks in the list
-    Int_t GetNTracks() const {return fTrackList->GetEntriesFast();}
-    Int_t GetTrack(Int_t i) const;
-    Int_t GetCharge(Int_t i) const;
-    void AddToTrackList(Int_t track, Int_t charge);
-    void UpdateTrackList(Int_t track, Int_t charge);
-    
-  protected:
-    AliMUONTransientDigit(const AliMUONTransientDigit& digit);
-    AliMUONTransientDigit & operator =(const AliMUONTransientDigit & rhs);
-
-    Int_t          fChamber;       ///< chamber number of pad
-    TObjArray     *fTrackList;     ///< List of tracks contributing
-
-  ClassDef(AliMUONTransientDigit,1)  // Transient digit for MUON
-};
-#endif
-