ROOT logo
//
//  Definition for a single candidate daughter.
//  They can be chosen among the following possibilities:
//
//  -- particle species, chosen in the enum AliRsnDaughter::ESpecies;
//     this option does two things:
//     -- when possible (needs MC) and required, allow to check is a daughter
//        is of the defined species (e.g.: for selecting true daughters of a resonance)
//     -- defines the mass to be assigned to this object, for any purpose
//        (e.g.: to compute its 4-momentum to be used for a resonance mass)
//
//  -- track charge, which can be '+', '-', '0',
//     -- any other char leaves this undefined (use only in daughter monitor loops)
//     -- when doing resonance analysis, or when RSN Input handler needs to be used,
//        this must always be defined
//
//  -- object type (track/V0/cascade)
//     -- could be needed to select tracks when particle species is not specified
//     -- works only in single daughter loops
//
//  authors: A. Pulvirenti (alberto.pulvirenti@ct.infn.it)
//           M. Vala (martin.vala@cern.ch)
//

#include "AliLog.h"
#include "AliRsnDaughterDef.h"

ClassImp(AliRsnDaughterDef)


//_____________________________________________________________________________
AliRsnDaughterDef::AliRsnDaughterDef() :
   fPID(AliRsnDaughter::kUnknown),
   fMass(0.0),
   fCharge(0),
   fRefType(AliRsnDaughter::kNoType)
{
//
// This version of constructor leaves everything undefined:
// this will cause all daughters to be accepted.
//
}

//_____________________________________________________________________________
AliRsnDaughterDef::AliRsnDaughterDef(AliRsnDaughter::ESpecies type, Char_t sign) :
   fPID(type),
   fMass(AliRsnDaughter::SpeciesMass(type)),
   fCharge(sign),
   fRefType(AliRsnDaughter::RefType(type))
{
//
// This version of constructor initializes the PID type (and then the mass)
// and the charge (optional, leave 2nd argument to default to include both).
//
}

//_____________________________________________________________________________
AliRsnDaughterDef::AliRsnDaughterDef(EPARTYPE type, Char_t sign) :
   fPID(AliRsnDaughter::FromAliPID(type)),
   fMass(AliRsnDaughter::SpeciesMass(AliRsnDaughter::FromAliPID(type))),
   fCharge(sign),
   fRefType(AliRsnDaughter::RefType(AliRsnDaughter::FromAliPID(type)))
{
//
// This version of constructor initializes the PID type (and then the mass)
// and the charge (optional, leave 2nd argument to default to include both).
//
}

//_____________________________________________________________________________
AliRsnDaughterDef::AliRsnDaughterDef(AliRsnDaughter::ERefType refType, Char_t sign) :
   fPID(AliRsnDaughter::kUnknown),
   fMass(0.0),
   fCharge(sign),
   fRefType(refType)
{
//
// This version of constructor initializes the object type
// and the charge (optional, leave 2nd argument to default to include both),
// and leaves the PID type undefined.
// This is useful when one is interested in all tracks/V0s/cascades without
// requiring them to be identified as a certain species, but if one then requires
// an object linked to this definition to compute a rapidity or a transverse mass,
// this will not work.
//
}

//_____________________________________________________________________________
AliRsnDaughterDef::AliRsnDaughterDef(const AliRsnDaughterDef &copy) :
   TObject(copy),
   fPID(copy.fPID),
   fMass(copy.fMass),
   fCharge(copy.fCharge),
   fRefType(copy.fRefType)
{
//
// Copy constructor has standard behavior.
//
}

//_____________________________________________________________________________
AliRsnDaughterDef &AliRsnDaughterDef::operator=(const AliRsnDaughterDef &copy)
{
//
// Assignment operator has standard behavior.
//
   if (this == &copy)
      return *this;

   fMass = copy.fMass;
   fCharge = copy.fCharge;
   fPID = copy.fPID;
   fRefType = copy.fRefType;

   return (*this);
}
 AliRsnDaughterDef.cxx:1
 AliRsnDaughterDef.cxx:2
 AliRsnDaughterDef.cxx:3
 AliRsnDaughterDef.cxx:4
 AliRsnDaughterDef.cxx:5
 AliRsnDaughterDef.cxx:6
 AliRsnDaughterDef.cxx:7
 AliRsnDaughterDef.cxx:8
 AliRsnDaughterDef.cxx:9
 AliRsnDaughterDef.cxx:10
 AliRsnDaughterDef.cxx:11
 AliRsnDaughterDef.cxx:12
 AliRsnDaughterDef.cxx:13
 AliRsnDaughterDef.cxx:14
 AliRsnDaughterDef.cxx:15
 AliRsnDaughterDef.cxx:16
 AliRsnDaughterDef.cxx:17
 AliRsnDaughterDef.cxx:18
 AliRsnDaughterDef.cxx:19
 AliRsnDaughterDef.cxx:20
 AliRsnDaughterDef.cxx:21
 AliRsnDaughterDef.cxx:22
 AliRsnDaughterDef.cxx:23
 AliRsnDaughterDef.cxx:24
 AliRsnDaughterDef.cxx:25
 AliRsnDaughterDef.cxx:26
 AliRsnDaughterDef.cxx:27
 AliRsnDaughterDef.cxx:28
 AliRsnDaughterDef.cxx:29
 AliRsnDaughterDef.cxx:30
 AliRsnDaughterDef.cxx:31
 AliRsnDaughterDef.cxx:32
 AliRsnDaughterDef.cxx:33
 AliRsnDaughterDef.cxx:34
 AliRsnDaughterDef.cxx:35
 AliRsnDaughterDef.cxx:36
 AliRsnDaughterDef.cxx:37
 AliRsnDaughterDef.cxx:38
 AliRsnDaughterDef.cxx:39
 AliRsnDaughterDef.cxx:40
 AliRsnDaughterDef.cxx:41
 AliRsnDaughterDef.cxx:42
 AliRsnDaughterDef.cxx:43
 AliRsnDaughterDef.cxx:44
 AliRsnDaughterDef.cxx:45
 AliRsnDaughterDef.cxx:46
 AliRsnDaughterDef.cxx:47
 AliRsnDaughterDef.cxx:48
 AliRsnDaughterDef.cxx:49
 AliRsnDaughterDef.cxx:50
 AliRsnDaughterDef.cxx:51
 AliRsnDaughterDef.cxx:52
 AliRsnDaughterDef.cxx:53
 AliRsnDaughterDef.cxx:54
 AliRsnDaughterDef.cxx:55
 AliRsnDaughterDef.cxx:56
 AliRsnDaughterDef.cxx:57
 AliRsnDaughterDef.cxx:58
 AliRsnDaughterDef.cxx:59
 AliRsnDaughterDef.cxx:60
 AliRsnDaughterDef.cxx:61
 AliRsnDaughterDef.cxx:62
 AliRsnDaughterDef.cxx:63
 AliRsnDaughterDef.cxx:64
 AliRsnDaughterDef.cxx:65
 AliRsnDaughterDef.cxx:66
 AliRsnDaughterDef.cxx:67
 AliRsnDaughterDef.cxx:68
 AliRsnDaughterDef.cxx:69
 AliRsnDaughterDef.cxx:70
 AliRsnDaughterDef.cxx:71
 AliRsnDaughterDef.cxx:72
 AliRsnDaughterDef.cxx:73
 AliRsnDaughterDef.cxx:74
 AliRsnDaughterDef.cxx:75
 AliRsnDaughterDef.cxx:76
 AliRsnDaughterDef.cxx:77
 AliRsnDaughterDef.cxx:78
 AliRsnDaughterDef.cxx:79
 AliRsnDaughterDef.cxx:80
 AliRsnDaughterDef.cxx:81
 AliRsnDaughterDef.cxx:82
 AliRsnDaughterDef.cxx:83
 AliRsnDaughterDef.cxx:84
 AliRsnDaughterDef.cxx:85
 AliRsnDaughterDef.cxx:86
 AliRsnDaughterDef.cxx:87
 AliRsnDaughterDef.cxx:88
 AliRsnDaughterDef.cxx:89
 AliRsnDaughterDef.cxx:90
 AliRsnDaughterDef.cxx:91
 AliRsnDaughterDef.cxx:92
 AliRsnDaughterDef.cxx:93
 AliRsnDaughterDef.cxx:94
 AliRsnDaughterDef.cxx:95
 AliRsnDaughterDef.cxx:96
 AliRsnDaughterDef.cxx:97
 AliRsnDaughterDef.cxx:98
 AliRsnDaughterDef.cxx:99
 AliRsnDaughterDef.cxx:100
 AliRsnDaughterDef.cxx:101
 AliRsnDaughterDef.cxx:102
 AliRsnDaughterDef.cxx:103
 AliRsnDaughterDef.cxx:104
 AliRsnDaughterDef.cxx:105
 AliRsnDaughterDef.cxx:106
 AliRsnDaughterDef.cxx:107
 AliRsnDaughterDef.cxx:108
 AliRsnDaughterDef.cxx:109
 AliRsnDaughterDef.cxx:110
 AliRsnDaughterDef.cxx:111
 AliRsnDaughterDef.cxx:112
 AliRsnDaughterDef.cxx:113
 AliRsnDaughterDef.cxx:114
 AliRsnDaughterDef.cxx:115
 AliRsnDaughterDef.cxx:116