Added Copy method
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 18 Dec 2003 17:31:47 +0000 (17:31 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 18 Dec 2003 17:31:47 +0000 (17:31 +0000)
12 files changed:
PHOS/AliPHOS.cxx
PHOS/AliPHOS.h
PHOS/AliPHOSv0.cxx
PHOS/AliPHOSv0.h
PHOS/AliPHOSv1.cxx
PHOS/AliPHOSv1.h
PHOS/AliPHOSv2.cxx
PHOS/AliPHOSv2.h
PHOS/AliPHOSvFast.cxx
PHOS/AliPHOSvFast.h
PHOS/AliPHOSvImpacts.cxx
PHOS/AliPHOSvImpacts.h

index bf73123..bce8af3 100644 (file)
@@ -69,6 +69,14 @@ AliPHOS::~AliPHOS()
 }
 
 //____________________________________________________________________________
+void AliPHOS::Copy(AliPHOS & phos)
+{
+  TObject::Copy(phos) ; 
+  //  fQATask = AliPHOSQAChecker::Copy(*(phos.fQATask)) ; 
+  phos.fTreeQA = fTreeQA->CloneTree() ; 
+}
+
+//____________________________________________________________________________
 void AliPHOS::CreateMaterials()
 {
   // Definitions of materials to build PHOS and associated tracking media.
index d28e5e5..13d83ee 100644 (file)
@@ -27,12 +27,11 @@ class AliPHOS : public AliDetector {
 
   AliPHOS() ;
   AliPHOS(const char* name, const char* title="") ;  
-  AliPHOS(const AliPHOS & phos) : AliDetector(phos) {
-    // cpy ctor: no implementation yet
-    // requested by the Coding Convention
-    Fatal("cpy ctor", "not implemented") ;
+  AliPHOS(AliPHOS & phos) : AliDetector(phos) {
+    Copy(*this) ; 
   }
   virtual ~AliPHOS() ; 
+  virtual void Copy(AliPHOS & phos) ; 
   virtual void   AddHit(Int_t, Int_t*, Float_t *) {
     // do not use this definition but the one below
     Fatal("AddHit(Int_t, Int_t*, Float_t *)", "do not use") ;
index 3ab2ce4..b2ad372 100644 (file)
@@ -58,6 +58,13 @@ AliPHOSv0::AliPHOSv0(const char *name, const char *title):
 }
 
 //____________________________________________________________________________
+void AliPHOSv0::Copy(AliPHOSv0 & phos) 
+{
+  TObject::Copy(phos) ; 
+  AliPHOS::Copy(phos) ; 
+}
+
+//____________________________________________________________________________
 void AliPHOSv0::BuildGeometry()
 {
   // Build the PHOS geometry for the ROOT display
index c948ab2..7bce39f 100644 (file)
@@ -23,12 +23,13 @@ class AliPHOSv0 : public AliPHOS {
 
   AliPHOSv0() {}
   AliPHOSv0(const char *name, const char *title="") ;
-  AliPHOSv0(const AliPHOSv0 & phos) : AliPHOS(phos) {
-    Fatal("cpy ctor", "not implemented") ;
+  AliPHOSv0(AliPHOSv0 & phos) : AliPHOS(phos) {
+    phos.Copy(*this) ; 
   } 
   virtual ~AliPHOSv0(void){
     // dtor
   } 
+  virtual void Copy(AliPHOSv0 & phos) ; 
 
 //    virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) {
   virtual void   AddHit( Int_t, Int_t, Int_t, Int_t, Float_t*) {
index 96f0919..ac1cc9f 100644 (file)
@@ -169,6 +169,21 @@ AliPHOSv1::~AliPHOSv1()
 }
 
 //____________________________________________________________________________
+void AliPHOSv1::Copy(AliPHOSv1 & phos)
+{
+  TObject::Copy(phos) ; 
+  AliPHOSv0::Copy(phos) ; 
+  phos.fLightYieldMean         = fLightYieldMean ; 
+  phos.fIntrinsicPINEfficiency = fIntrinsicPINEfficiency ; 
+  phos.fLightYieldAttenuation  = fLightYieldAttenuation ; 
+  phos.fRecalibrationFactor    = fRecalibrationFactor ; 
+  phos.fElectronsPerGeV        = fElectronsPerGeV ; 
+  phos.fAPDGain                = fAPDGain ; 
+  phos.fLightFactor            = fLightFactor ; 
+  phos.fAPDFactor              = fAPDFactor ; 
+}
+
+//____________________________________________________________________________
 void AliPHOSv1::AddHit(Int_t shunt, Int_t primary, Int_t tracknumber, Int_t Id, Float_t * hits)
 {
   // Add a hit to the hit list.
index db7e7fa..6ce64a8 100644 (file)
@@ -25,13 +25,12 @@ public:
 
   AliPHOSv1(void) ;
   AliPHOSv1(const char *name, const char *title="") ;
-  AliPHOSv1(const AliPHOSv1 & phos) : AliPHOSv0(phos) {
-    // cpy ctor: no implementation yet
-    // requested by the Coding Convention
-    Fatal("cpy ctor", "not implemented") ; 
+  AliPHOSv1(AliPHOSv1 & phos) : AliPHOSv0(phos) {
+    phos.Copy(*this) ; 
   }
   virtual ~AliPHOSv1(void) ;
 
+  virtual void   Copy(AliPHOSv1 & phos) ; 
   virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits) ; 
   virtual void   FinishEvent() ;
   virtual void   FinishPrimary() ;
index 5f20589..88d2182 100644 (file)
@@ -57,6 +57,13 @@ AliPHOSv2::~AliPHOSv2()
 }
 
 //____________________________________________________________________________
+void AliPHOSv2::Copy(AliPHOSv2 & phos)
+{
+  TObject::Copy(phos) ; 
+  AliPHOSv1::Copy(phos) ;   
+}
+
+//____________________________________________________________________________
 void AliPHOSv2::AddHit(Int_t shunt, Int_t primary, Int_t tracknumber, Int_t Id, Float_t * hits)
 {
   // Add a hit to the hit list.
index 6fc61ec..16236c8 100644 (file)
@@ -20,8 +20,12 @@ public:
 
   AliPHOSv2(void) ;
   AliPHOSv2(const char *name, const char *title="") ;
+  AliPHOSv2(AliPHOSv2 & phos) : AliPHOSv1(phos){
+    phos.Copy(*this) ; 
+  }
   virtual ~AliPHOSv2(void) ;
 
+  virtual void    Copy(AliPHOSv2 & phos) ; 
   virtual void    AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits); 
   virtual Int_t   IsVersion(void) const { 
     // Gives the version number 
index a2b59cd..895e4ca 100644 (file)
@@ -104,6 +104,29 @@ AliPHOSvFast::~AliPHOSvFast()
 }
 
 //____________________________________________________________________________
+void AliPHOSvFast::Copy(AliPHOSvFast & fast)
+{
+  TObject::Copy(fast) ; 
+  AliPHOS::Copy(fast) ; 
+  fast.fBigBoxX = fBigBoxX ; 
+  fast.fBigBoxY = fBigBoxY ; 
+  fast.fBigBoxZ = fBigBoxZ ;
+  fast.fNRecParticles = fNRecParticles ;
+  fast.fRan = fRan ; 
+  fast.fResPara1 = fResPara1 ; 
+  fast.fResPara2 = fResPara2 ; 
+  fast.fResPara3 = fResPara3 ;
+  fast.fPosParaA0 = fPosParaA0 ;
+  fast.fPosParaA1 = fPosParaA1 ; 
+  fast.fPosParaB0 = fPosParaB0 ;
+  fast.fPosParaB1 = fPosParaB1 ;
+  fast.fFastRecParticles = new TClonesArray(fFastRecParticles->GetClass()->GetName(), 100) ; 
+  Int_t index ; 
+  for (index = 0 ; index < fFastRecParticles->GetEntries(); index++) 
+    (fast.fFastRecParticles)->AddAt(fFastRecParticles->At(index), index) ;
+}
+
+//____________________________________________________________________________
 void AliPHOSvFast::AddRecParticle(const AliPHOSFastRecParticle & rp)
 {  
   // Add a virtually reconstructed particle to the list 
index aef4a86..5293f7c 100644 (file)
@@ -32,11 +32,12 @@ public:
 
   AliPHOSvFast() ;
   AliPHOSvFast(const char *name, const char *title="") ;
-  AliPHOSvFast(const AliPHOSvFast & fast) : AliPHOS(fast) {
-    Fatal("cpy ctor", "not implemented") ; 
+  AliPHOSvFast(AliPHOSvFast & fast) : AliPHOS(fast) {
+    fast.Copy(*this) ; 
   }
   virtual ~AliPHOSvFast(void) ;
 
+  virtual void Copy(AliPHOSvFast & fast) ; 
   void           AddRecParticle(const AliPHOSFastRecParticle & rp) ; // adds primary particle to the RecParticles list
   virtual void   BuildGeometry(void) ;                               // creates the geometry for the ROOT display
   virtual void   CreateGeometry(void) ;                              // creates the geometry for GEANT
index 75c2985..a3de7d2 100644 (file)
@@ -117,6 +117,14 @@ AliPHOSvImpacts::~AliPHOSvImpacts()
 }
 
 //____________________________________________________________________________
+void AliPHOSvImpacts::Copy(AliPHOSvImpacts & phos) 
+{
+  TObject::Copy(phos) ; 
+  AliPHOS::Copy(phos) ; 
+}
+
+
+//____________________________________________________________________________
 void AliPHOSvImpacts::AddImpact( char* det, Int_t shunt, Int_t primary, Int_t track, Int_t module,
                           Int_t pid, TLorentzVector p, Float_t *xyz)
 {
index 889905d..ea775ac 100644 (file)
@@ -27,13 +27,12 @@ public:
 
   AliPHOSvImpacts(void) ;
   AliPHOSvImpacts(const char *name, const char *title="") ;
-  AliPHOSvImpacts(const AliPHOSvImpacts & phos) : AliPHOSv1(phos) {
-    // cpy ctor: no implementation yet
-    // requested by the Coding Convention
-    Fatal("cpy ctor", "not implemented") ;
+  AliPHOSvImpacts(AliPHOSvImpacts & phos) : AliPHOSv1(phos) {
+    phos.Copy(*this) ; 
   }
   virtual ~AliPHOSvImpacts(void) ;
 
+  virtual void   Copy(AliPHOSvImpacts & phos) ; 
   virtual void   AddImpact(char* detector, Int_t shunt, Int_t primary, Int_t track,
                           Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
   virtual void   MakeBranch(Option_t *opt=" ");