From d2293f45bf26d8dd4143e06f64c9c4b3961f31ad Mon Sep 17 00:00:00 2001 From: gamez Date: Mon, 7 Oct 2002 11:12:46 +0000 Subject: [PATCH] Cleaned up version --- CRT/AliCRT.cxx | 95 +++++++++++++++++++++++++++++++++++++------------- CRT/AliCRT.h | 23 ++++++------ 2 files changed, 84 insertions(+), 34 deletions(-) diff --git a/CRT/AliCRT.cxx b/CRT/AliCRT.cxx index ba474311c4e..9e754e81a17 100644 --- a/CRT/AliCRT.cxx +++ b/CRT/AliCRT.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.4 2002/07/12 12:56:18 gamez +Material numbers, correction + Revision 1.3.2.1 2002/07/12 12:31:30 gamez Material numbers, correction @@ -52,38 +55,29 @@ First version of CRT // // /////////////////////////////////////////////////////////////////////////////// - -#include -#include - #include - #include "AliMC.h" #include "AliRun.h" #include "AliMagF.h" #include "AliCRT.h" #include "AliCRTConstants.h" -#include "AliCRTdigit.h" #include "AliCRThit.h" ClassImp(AliCRT) - -static AliCRTdigit *digits; - //_____________________________________________________________________________ AliCRT::AliCRT() { // - // Default constructor for L3 magnet + // Default constructor for the CRT // - fIshunt = 1; + fIshunt = 0; fHits = 0; - fDigits = 0; + } //_____________________________________________________________________________ @@ -97,7 +91,6 @@ AliCRT::AliCRT(const char *name, const char *title) fIshunt = 1; // All hits are associated with primary particles fHits = new TClonesArray("AliCRThit",400) ; - fDigits = new TClonesArray("AliCRTdigit",400) ; gAlice->AddHitList(fHits); @@ -107,6 +100,25 @@ AliCRT::AliCRT(const char *name, const char *title) } +//_____________________________________________________________________________ +AliCRT::AliCRT(const AliCRT& crt) +{ + // + // Copy ctor. + // + crt.Copy(*this); +} + +//_____________________________________________________________________________ +AliCRT& AliCRT::operator= (const AliCRT& crt) +{ + // + // Asingment operator. + // + crt.Copy(*this); + return *this; +} + //_____________________________________________________________________________ AliCRT::~AliCRT() { @@ -132,9 +144,9 @@ void AliCRT::AddHit(Int_t track, Int_t *vol, Float_t *hits) //_____________________________________________________________________________ void AliCRT::AddDigit(Int_t *tracks,Int_t *digits) { - + // // Add a CRT digit to the list. Dummy function. - + // } //_____________________________________________________________________________ @@ -160,19 +172,18 @@ void AliCRT::Init() const } //_____________________________________________________________________________ -void AliCRT::ResetHits () +void AliCRT::ResetHits() { // Reset number of clusters and the cluster array for this detector - AliDetector::ResetHits (); + AliDetector::ResetHits(); } //_____________________________________________________________________________ -void AliCRT::ResetDigits () +void AliCRT::ResetDigits() { // // Reset number of digits and the digits array for this detector - AliDetector::ResetDigits (); - // + AliDetector::ResetDigits(); } //____________________________________________________________________________ @@ -226,6 +237,9 @@ void AliCRT::CreateMaterials() AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.); AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.); AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.); + AliMaterial(75, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.); + AliMaterial(95, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.); + // Scintillator material polystyrene Float_t aP[2] = {12.011, 1.00794}; @@ -251,6 +265,11 @@ void AliCRT::CreateMaterials() stmin = -.8; // *************** + Float_t atmaxfd = 10.; + Float_t adeemax = -0.1; + Float_t aepsil = 0.1; + Float_t astmin = -10.; + // // Aluminum AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); @@ -263,9 +282,12 @@ void AliCRT::CreateMaterials() AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // // Air - AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, atmaxfd, stemax, adeemax, aepsil, astmin); + AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, atmaxfd, stemax, adeemax, aepsil, astmin); + AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, atmaxfd, stemax, adeemax, aepsil, astmin); + AliMedium(75, "AIR_C4 ", 75, 0, isxfld, sxmgmx, atmaxfd, stemax, adeemax, aepsil, astmin); + AliMedium(75, "AIR_C5 ", 95, 0, isxfld, sxmgmx, atmaxfd, stemax, adeemax, aepsil, astmin); + // The scintillator of the CPV made of Polystyrene @@ -275,9 +297,18 @@ void AliCRT::CreateMaterials() // Molasse -> idtmed[1123] AliMedium(24 , "Molasse ", 24, 0, xfield, xfieldm, tmaxfd, stemax, deemax, xepsil, stmin); + // Concrete, in case if we need to put hte shafts by ourselves. -} + Float_t aconc[10] = { 1.,12.01,15.994,22.99,24.305,26.98,28.086,39.1,40.08,55.85 }; + Float_t zconc[10] = { 1.,6.,8.,11.,12.,13.,14.,19.,20.,26. }; + Float_t wconc[10] = { .01,.001,.529107,.016,.002,.033872,.337021,.013,.044,.014 }; + + AliMixture(17, "CONCRETE$", aconc, zconc, 2.35, 10, wconc); + // Concrete + AliMedium(17, "CC_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); +} +/* //_____________________________________________________________________________ void AliCRT::MakeBranch(Option_t* option, const char *file) { @@ -300,4 +331,20 @@ void AliCRT::MakeBranch(Option_t* option, const char *file) } } +*/ //_____________________________________________________________________________ +void AliCRT::SetTreeAddress() +{ + + TBranch *branch; + char branchname[20]; + sprintf(branchname,"%s",GetName()); + + // Branch address for hit tree + TTree *treeH = gAlice->TreeH(); + if (treeH && fHits) { + branch = treeH->GetBranch(branchname); + if (branch) branch->SetAddress(&fHits); + } + +} diff --git a/CRT/AliCRT.h b/CRT/AliCRT.h index c77a97c0c65..db82da9ad18 100644 --- a/CRT/AliCRT.h +++ b/CRT/AliCRT.h @@ -9,9 +9,6 @@ // Manager class for detector: ACORDE // //////////////////////////////////////////////// -#include -#include - #include "AliDetector.h" class TFile; @@ -26,26 +23,32 @@ public: AliCRT(); AliCRT(const char *name, const char *title); + AliCRT(const AliCRT& crt); + AliCRT& operator= (const AliCRT& crt); virtual ~AliCRT(); virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); - virtual void AddDigit( Int_t* tracks, Int_t* digits); + virtual void AddDigit(Int_t *tracks,Int_t *digits); + virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void Init() const; virtual void CreateMaterials(); virtual Int_t IsVersion() const {return 0;} - virtual void DrawDetector() const {}; - virtual void DrawModule() const {}; - virtual void StepManager() = 0; - virtual void MakeBranch(Option_t *opt=" ", const char *file=0); + virtual TString Version(void) {return TString("");} + virtual void DrawDetector() const {} + virtual void DrawModule() const {} + virtual void StepManager() {} virtual void FinishEvent(); virtual void ResetHits(); virtual void ResetDigits(); + virtual void SetTreeAddress(); + +protected: -private: - ClassDef(AliCRT,1) //Class manager for CRT(ACORDE) +private: + ClassDef(AliCRT,1) //Class manager for CRT(ACORDE) }; #endif // ALICRT_H -- 2.43.0